gpt4 book ai didi

java - Oracle ADF 选择多行时,RowSetIterator 在第一次方法调用时不会填充

转载 作者:行者123 更新时间:2023-12-01 11:36:39 27 4
gpt4 key购买 nike

不确定如何最好地表达标题,但要点如下。

目标是检索表中所有选定的行并操作它们。我遇到的问题是,第一次调用支持 bean 中的方法时,RowSetIterator 不会被填充。当第二次调用时,它确实会被填充。

如何让它在第一次调用时正常工作?

毫无疑问,我不是很清楚,如果您需要任何其他信息,请告诉我。这是 bean 方法的片段:

  public String deleteSelectedQueries()
{
JSFUtils.addInformationMessage("Delete");
RowKeySet selectedQueries =
getSavedQueriesByUserTable().getSelectedRowKeys();
Iterator selectedQueriesIter = selectedQueries.iterator();
DCBindingContainer bindings =
(DCBindingContainer) BindingContext.getCurrent().getCurrentBindingsEntry();
DCIteratorBinding savedQueriesByUserIter =
bindings.findIteratorBinding("SavedQueriesByUserROVOIterator");
RowSetIterator savedQueriesByUserRowSetIterator =
savedQueriesByUserIter.getRowSetIterator();
while (selectedQueriesIter.hasNext())
{
Key key = (Key) ((List) selectedQueriesIter.next()).get(0);
Row currentRow = savedQueriesByUserRowSetIterator.getRow(key);
System.out.println(currentRow.getAttribute("QueryName"));
}
return null;
}
}

有什么想法吗?

谢谢!

最佳答案

这段代码对我来说看起来不错。

问题可能来自<af:table>标签,请确保已删除这些标签:

selectedRowKeys="#{bindings.SavedQueriesByUserROVO.collectionModel.selectedRow}"
selectionListener="#{bindings.SavedQueriesByUserROVO.collectionModel.makeCurrent}"

关于java - Oracle ADF 选择多行时,RowSetIterator 在第一次方法调用时不会填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com