不确定如何最好的词标题,但这里的要点。
目标是检索表中所有选定的行并对其进行操作。我遇到的问题是,在第一次调用backingbean中的方法时,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;
}
}
有什么想法吗?
谢谢!
1条答案
按热度按时间n8ghc7c11#
我觉得这个代码不错。
问题可能来自
<af:table>
标记,请确保已删除这些标记: