我正在使用Oracle Apex 22.2开发应用程序。该页面具有交互式网格。用户可以在不同的单元格中输入信息。问题是他们输入的10个字段中有4个是文本字段,他们提到在单行视图中输入数据对他们来说更容易。我希望当用户按下添加行按钮时,它会添加行并立即转到单行视图。如果可能的话,当用户单击保存如果他们返回到报告视图就更好了。
到目前为止,我所管理的几乎是我所需要的。覆盖selection-add-row所做的事情允许我在单击AddRow按钮后打开单行视图。但是,它不是打开空白记录的单行视图,而是打开交互式网格中第一条记录的单行视图。
这被放置在初始化JavaScript函数中。
function(config) {
config.initActions = function( actions ) {
actions.remove('selection-add-row');
actions.add({
name: "selection-add-row",
label: "Add row",
iconBeforeLabel: "true",
action: function(event, focusElement) {
let model = $(actions.context).interactiveGrid('getCurrentView').model;
model.insertNewRecord();
$(actions.context).interactiveGrid('getActions').invoke("single-row-view");
}
});
}
return config;}
这两行在开头插入记录。
let model = $(actions.context).interactiveGrid('getCurrentView').model;
model.insertNewRecord();
这一行打开单行视图,但仅在交互式网格中存在的第一条记录上。
$(actions.context).interactiveGrid('getActions').invoke("single-row-view");
如果我关闭单行视图并再次单击添加行,它会创建一个新的空白行,但它会打开前一个空白行的单行视图。
我一直在阅读文档,但显然有一些东西我没有得到。
2条答案
按热度按时间yrwegjxp1#
您所描述的听起来像是新行的“普通”表单,但却是更新行的IG,那么为什么不以这种方式实现它呢?
6psbrbz92#
虽然这个解决方案不适用于我的应用程序,但我将保留代码,这些代码完全按照我的要求执行,以防将来对某人有用。我将使用Koen解决方案并创建一个模态对话框。
这将在顶部创建一个新行,选择它并将其作为单行视图打开。然后,保存顶部的保存按钮将返回到正常的报告视图。如果我们已经在报表视图中,则返回到报表视图的代码不会执行任何操作。