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

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

{
     title: '设置可编辑',
     onClick: function (clickEvent, event, params) {
     window.luckysheet.setCellEditable(params.rowIndex, params.columnIndex)
   }
},

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)
}
/**
 * 开启工作表非编辑模式(指定单元格可编辑)
 */
export function setWorkBookEditMode() {
    luckysheetConfigsetting.editMode = true
}

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

//是否为非编辑模式
function isEditMode() {
    if (luckysheetConfigsetting.editMode || !Store.allowEdit) {
        return true;
    } else {
        return false;
    }
}

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;
        }
    }

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

window.luckysheet.setWorkBookEditMode()
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值