在点击编辑模式下,树表中的selectOneChoice出现问题。向下滚动并向上返回时,将清除聚焦行的组合值。要复制此问题,只需导航到ADF演示:单击编辑树表
- 全部展开
- 选择第一行
- 将Col2的值更改为HeadPhone
- 焦点仍在第一行,向下滚动,直到出现Fetching Data消息
- 向上滚动回第一行
- Col2的值更改为Mouse
我该如何避免这种情况?在我的应用程序中,我注意到第一次在更改值时触发了值更改侦听器,第二次在滚动treeTable时触发,将其设置为空
只有树表处于编辑状态时才会出现此问题模式单击编辑。标准表工作正常。
我的jdev是11.1.2.1.0。
提前Thx。
由于您能够在ADF演示中重现此问题,这要么是ADF错误,要么是限制。
我认为这是一种错误。您可以尝试在其上提交服务请求。
这似乎是因为你没有提交你的更改(因为你仍然停留在这一行)。在另一次获取时,您的更改不会被保存,而在重新获取时,则会获得旧值
关于此问题的解决方法:
- 如果树不是太大,可以将迭代器RangeSize设置为-1以一次获取所有行,从而避免获取更多行。然而,如果你有很多争吵,你就会遇到性能问题
- 您可以尝试将此字段上的autosubmit属性设置为true,这样它将在comback上保存您的数据(并有望加载)(即使没有,您也可以在bean中执行)。当您的控制失去焦点时,您可能还需要放置clientListener来提交数据
- 不要对此控件使用clickToEdit或将其称为功能(无提交-无更改):)
由于我等不及修复,我找到了解决问题的方法。当元素在向后滚动时第二次渲染时,该值被设置为null(对于复选框为false),因为调用了bean的setter属性和selectOneChoice的值更改(如果存在)。因此,我在valueChange事件上设置了一个clientListener,与valueChangeListener不同,它被正确地激发,并将一个伪属性设置为value。