当前位置:   article > 正文

luckysheet的使用——13.开启表格非编辑模式(指定单元格可编辑,除此以外其他单元格全部不可编辑)_luckysheet开启单元格编辑

luckysheet开启单元格编辑

对指定单元格进行设置为可编辑,在开启非编辑模式后,只有指定的单元格才可以进行编辑,其余单元格全部无法编辑。
1.修改系统,在对应的前端页面代码中对右键菜单新增功能:

{
     title: '设置可编辑',
     onClick: function (clickEvent, event, params) {
     window.luckysheet.setCellEditable(params.rowIndex, params.columnIndex)
   }
},
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.在luckysheet源码中,找到src/global/api.js,在其中新增方法:

/**
 * 设置单元格可编辑
 * @param r
 * @param c
 */
export function setCellEditable(r, c) {
    //获取单元格的值
    let cellValue = {
        ct: {
            "fa": "General",
            "t": "g"
        },
        m: '',
        v: '',
        expand: 'allowEdit',
    }
    setCellValue(r, c, cellValue)
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
/**
 * 开启工作表非编辑模式(指定单元格可编辑)
 */
export function setWorkBookEditMode() {
    luckysheetConfigsetting.editMode = true
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.找到src/global/validate.js,找到isEditMode()方法并进行修改:

//是否为非编辑模式
function isEditMode() {
    if (luckysheetConfigsetting.editMode || !Store.allowEdit) {
        return true;
    } else {
        return false;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

4.找到src/controllers/updateCell.js,找到luckysheetupdateCell()方法并进行修改:

	//非编辑模式下禁用单元格编辑
    if (isEditMode()) {
        let result = true
        //判断该单元格是否在非编辑模式下可编辑
        let targetSheetData = Store.luckysheetfile[getSheetIndex(Store.currentSheetIndex)].data
        let cellValue = targetSheetData[row_index1][col_index1]
        if (cellValue != null) {
            let expand = cellValue.expand
            if (expand != null) {
                if (expand == 'allowEdit') {
                    result = false
                }
            }
        }


        if (result) {
            return;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

5.在项目对应的前端页面代码中调用方法开启非编辑模式:

window.luckysheet.setWorkBookEditMode()
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/396117
推荐阅读
相关标签
  

闽ICP备14008679号