本文主要是介绍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)].datalet cellValue = targetSheetData[row_index1][col_index1]if (cellValue != null) {let expand = cellValue.expandif (expand != null) {if (expand == 'allowEdit') {result = false}}}if (result) {return;}}
5.在项目对应的前端页面代码中调用方法开启非编辑模式:
window.luckysheet.setWorkBookEditMode()
这篇关于luckysheet的使用——13.开启表格非编辑模式(指定单元格可编辑,除此以外其他单元格全部不可编辑)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!