Oracle11g 在I';我在代码中应用了我想要的过滤器?

Oracle11g 在I';我在代码中应用了我想要的过滤器?,oracle11g,oracle-adf,java-6,Oracle11g,Oracle Adf,Java 6,用户可以上传一个数据文件,然后我将使用该文件对视图对象执行查询。我用一个记录做了一个简单的测试: BindingContext bindingctx = BindingContext.getCurrent(); BindingContainer binding = bindingctx.getCurrentBindingsEntry(); DCBindingContainer bindingsImpl = (DCBindingContainer)binding; DCIteratorBindin

用户可以上传一个数据文件,然后我将使用该文件对视图对象执行查询。我用一个记录做了一个简单的测试:

BindingContext bindingctx = BindingContext.getCurrent();
BindingContainer binding = bindingctx.getCurrentBindingsEntry();
DCBindingContainer bindingsImpl = (DCBindingContainer)binding;
DCIteratorBinding dciter = bindingsImpl.findIteratorBinding("XxqpCfQotOrdPrcTblVOIterator");
ViewObjectImpl implVO = (ViewObjectImpl)dciter.getViewObject();

RowQualifier rowQualifier = new RowQualifier(implVO);
rowQualifier.setWhereClause("QuoteSoLineId = 476120582");
Row[] filteredRows = implVO.getFilteredRows(rowQualifier);

现在我已经有了所需的行,如何用这些数据更新RichTable?我一直在这里搜索Google和Github,但我很难弄清楚如何更新表。

我可以通过直接在view对象上设置WHERE子句并调用execute query来解决这个问题。自动刷新表中数据的

implVO.setWhereClause("QUOTE_SO_LINE_ID = 476120582");
implVO.executeQuery();

另一种可能更容易维护的方法是更新绑定变量值,并以编程方式将视图条件应用于视图对象:。这样,就不会在controller.Thansk、@Cedric中维护SQL。听起来是个不错的选择。我会调查的。我感谢你的反馈。