2017-04-19 73 views
0

我有一个ADF表,必须在重定向到新页面后填充表单。 基本上我必须为表中选定的记录实现编辑功能。 我已经做了下面的迭代器绑定到字段,但不知道如何从数据库中获取值。我无法调试绑定,因为页面在重定向到时无法呈现。从ADF自动填充ADF表

这里是pageDef的片段创建

<attributeValues id="sedol" IterBinding="findD1ByCaIdIter"> 
    <AttrNames> 
    <Item Value="sedol"/> 
    </AttrNames> 
</attributeValues> 

任何帮助/教程/指南将希望您使用的是数据控制大加赞赏

回答

0

。如果是这样,那么使用数据控件来填充表格。确保打开单行选择。 然后在编辑页面上,添加与表单相同的数据控件。 ADF的内置行并发性将选定的表行设置为迭代器中的“当前行”并绑定VO行集。然后,在显示编辑页面时,它将从迭代器中检索“当前行”,它应该是表中选定的行。

因为你似乎是新的ADF,我建议你学多一点,herehere,你可以尝试谷歌“的Oracle ADF表,表格编辑” - >一些想法hereherehere

像什么是您的数据源(ADF BC或JPA)以及您熟悉ADF数据控件和您使用的ADF版本的基本信息对于这些问题非常有用。

+0

如果您的数据源是ADF BC或JPA,它会产生什么影响吗? –

+0

不是从使用数据控件的角度来看。虽然您不会有VO和行集,但您将拥有一个基于会话Bean基础的数据控件而不是JPA实体,但行并行性的工作原理是相同的。这是使用数据控件的确切点。在这里阅读更多信息https://docs.oracle.com/middleware/1212/adf/ADFDC/adfm.htm#ADFDC766另外,请记住upvote。 – Joe

0

最后在表格中添加一列。 (ADFfaces)并在其actionlistener中添加以下代码:

public void editData() { 
    DCBindingContainer contxt = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); 
    DCIteratorBinding iter = contxt.findIteratorBinding("TestView1Iterator");   
    ViewObject testVo = iter.getViewObject(); 
    Row selectedRow = testVo.getCurrentRow(); 
}