赞
踩
对指定单元格进行设置为可编辑,在开启非编辑模式后,只有指定的单元格才可以进行编辑,其余单元格全部无法编辑。
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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。