大佬您好,是这样子的,使用这个JS在设置表格的列是否可以编辑的时候,是需要先从表格中获取对应判断列的值。而因为添加行的时候还没有真正完成添加,所以取对应列值的时候,新添加的数据还没有更新到表格中,所以获取失败了。
咱们在设置单元格是否可以编辑的时候,判定一下修改的行是否是新增行,若是新增行不做修改即可。
- // 定义编辑触发事件,
- activeSheet.bind(GC.Spread.Sheets.Events.EditStarting, function (sender, args) {
- var colx;
- let count = listView.getRowCount();
- if (args.row < count) {
- // getValue,是按照表格单元格展示的,从0开始,若存在表头,也会被计算,
- colx = listView.getValue(args.row, reg);
- // 设置当前行,第noEidt列,当第colx的值等于0的时候,编辑取消
- // args.col,是按照数据的顺序展示的,从0开始,表头不计入
- // 若有多列不可以编辑,可以将下面的条件代码重复即可
- if (args.col == noEdit && colx == 0) {
- args.cancel = true;
- return;
- }
- }
-
-
- });
复制代码
|