Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java adf内联编辑选择第一行的Listener_Java_Oracle Adf_Jdeveloper - Fatal编程技术网

Java adf内联编辑选择第一行的Listener

Java adf内联编辑选择第一行的Listener,java,oracle-adf,jdeveloper,Java,Oracle Adf,Jdeveloper,我在OracleADF(jdeveloper)中有一个fusion web应用程序 其中有一个具有内联编辑功能的表。在其中,如果用户离开当前行,我希望允许自动提交。因此,如果用户导航到另一行,则必须自动保存前一行中所做的更改 为此,我将表的SelectionListener属性设置为: #{DisDocT.myCustomSelectionListener} 我已经编写了代码: public void myCustomSelectionListener(SelectionEvent selec

我在OracleADF(jdeveloper)中有一个fusion web应用程序

其中有一个具有内联编辑功能的表。在其中,如果用户离开当前行,我希望允许
自动提交。因此,如果用户导航到另一行,则必须自动保存前一行中所做的更改

为此,我将表的
SelectionListener
属性设置为:

#{DisDocT.myCustomSelectionListener}
我已经编写了代码:

public void myCustomSelectionListener(SelectionEvent selectionEvent)
{
    System.out.println("In myCustomSelectionListener");
    if(isDirty()) {
        cb4_action();//Commits the changes
    }
    MyUtils.invokeMethodExpression("#{bindings.MyView2.collectionModel.makeCurrent}", Object.class, SelectionEvent.class, selectionEvent);
}
若表有多行要迭代,则上述代码可以正常工作。但在表只有一行或新创建的行的情况下,它不起作用


如果您有任何建议,我们将不胜感激。(或者在adf中是否有任何其他方式可以实现内联编辑)

正如您应该注意到的那样,使用selection listener,仅当所选行发生更改时才会触发事件。所以,如果您选择了同一行,或者像您的情况一样,此时只有一行,它不会被触发。这就是它的工作原理。
我的建议是更改事件类型以应用更改(执行提交操作)。一个值得注意的用例是双击行进行操作。看看这些样品:和。它可以很容易地实现,并使用户交互更简单(想象一下,如果用户开始玩行并不断地更改它们,那么每次都会调用backingbean方法)