介面如图,目前禁止编辑是可以的,但是禁止粘贴没有效果,JAVA写在
ar listView = Forguncy.Page.getListView("表格1");
var sheet = listView.getControl().getActiveSheet();
// 只在初始化时绑定一次事件
if (!sheet.__editStartingBound) {
// 1. 禁止直接编辑(原有逻辑)
sheet.bind("EditStarting", function (e, args) {
if (args.col === 8) { // 第8列是目标列(可变金额)
var cellValue = sheet.getValue(args.row, 12); // 从第12列获取控制条件
args.cancel = (cellValue !== "是"); // 仅当第12列="是"时才允许编辑
}
});
// 2. 新增:禁止粘贴(确保完全拦截)
//sheet.bind("ClipboardChanging", function (e, args) { //这个也没有作用
sheet.bind("ClipboardPasting", function (e, args) {
if (args.col === 8) { // 检查目标列
var cellValue = sheet.getValue(args.row, 12);
if (cellValue !== "是") {
args.cancel = true; // 直接取消粘贴
alert("禁止粘贴修改此列数据!");
}
}
});
sheet.__editStartingBound = true; // 标记已绑定
//console.log("编辑和粘贴限制已生效!");
}
|