DEP 触发表格 edit 事件脚本样例

// 触发表格特定列所有单元格的edit事件

// 指定列名,例如pricing
var colName = "pricing";
// 指定表名,例如kdtMaterialDetail
var table = pluginCtx.getKDTable("kdtMaterialDetail");

var rowCount = table.getRowCount();
var listeners = table.getListenerList().getListenerList();
var colIndex = table.getColumn(colName).getColumnIndex();

// 遍历表格
for (var rowIndex = 0; rowIndex < rowCount; rowIndex++) {
    var rowValue = table.getRow(rowIndex).getCell(colName).getValue();
    // KDTEditEvent Constructor: table, oldValue, newValue, rowIndex, colIndex, false, 1
    var kdte = new com.kingdee.bos.ctrl.kdf.table.event.KDTEditEvent(table, rowValue, rowValue, rowIndex, colIndex, false, 1);
    for (var listenerIndex = listeners.length - 2; listenerIndex >= 0; listenerIndex -= 2) {
        if (listeners[listenerIndex] == com.kingdee.bos.ctrl.kdf.table.event.KDTEditListener) {
            listeners[listenerIndex + 1].editStopped(kdte);
        }
    }
}

其中KDTEditEvent的构造函数需要包含(表格对象, 旧单元格值, 新单元格值, 行索引, 列索引, 固定值false, 固定值1),旧单元格值和新单元格值可以为相同的值。