Oracle APEX交互式网格删除行时如何获取状态更新求和计算
解决Oracle APEX交互式网格删除行时的求和问题
- 别用
apex.item("APEX$ROW_STATUS")来获取行状态,交互式网格的行状态需要通过网格模型实例获取。先拿到当前交互式网格的模型:var ig = apex.region("你的IG静态ID").widget().interactiveGrid("getViews", "grid"); var model = ig.model; - 遍历行数据时,用
model.getRecordStatus(record)获取行状态,返回值D代表已删除,R是新增,U为更新:model.forEach(function(record) { var rowStatus = model.getRecordStatus(record); if (rowStatus !== "D") { // 跳过已删除的行 var amount = model.getValue(record, "金额列名"); var type = model.getValue(record, "类型列名"); // 在这里执行Debit/Credit的求和逻辑 } }); - 若要在删除行后自动触发求和,把动态动作的事件设为Interactive Grid: Row Deleted,确保每次删除操作后都会重新计算总和。
- 也可以监听网格的
model-record-change事件,实时响应行状态变化:apex.region("你的IG静态ID").widget().interactiveGrid("getViews", "grid").model.on("model-record-change", function() { // 调用你的求和函数 calculateTotal(); }); - 记得把代码里的
你的IG静态ID、金额列名、类型列名替换成你实际的参数。
内容的提问来源于stack exchange,提问作者feno noga
相关产品推荐
相关产品推荐

