如何检索伍德斯托克表的选定行
时间:2020-03-06 14:25:20 来源:igfitidea点击:
我有一个带有复选框的JSF伍德斯托克表。选择一行后,我想对这些项目进行一些处理。我设法获得了RowKey对象的选择,但是找不到如何获取放回原始对象的方法。该表由ObjectListDataProvider填充。
解决方案
总是很高兴能够回答我们自己的问题。
我设法通过将表的数据提供程序强制转换为ObjectListDataProvider并使用方法" getObject"来取回原始对象来解决该问题。
因此,我偶然发现了这一点,希望找到如何实际进行选择并获取行信息。我最终想通了,我认为其他人可能会从我的工作中受益。
我在JSP的表列中添加了一个RadioButton并添加了valueChangeListener
<ui:radioButton id="radioButton1" name="radioButton-group1" valueChangeListener="#{MyBeanPage.radioButton1_processValueChange}" />
在我的Java代码中,我创建了valueChangeListener函数并存储了当前行信息。
public void radioButton1_processValueChange(ValueChangeEvent event) { TableRowDataProvider trdp = (TableRowDataProvider)getValue("#{currentRow}"); setCurrentRowKey(trdp.getTableRow()); //Sets an instance variable for the RowKey }
现在,如果我们有任何按钮想要操纵所选行中的数据,则可以执行此操作以获取对象数据。贾斯珀在上面提到了这一点。
/*getObjectListDataProviderImpl() returns the implementation of *ObjectListDataProvider for your dynamic data. */ getObjectListDataProviderImpl().getObject(getCurrentRowKey());
我们可能可以将单选按钮的selectedValue属性之类的东西与其他东西结合使用,而不是执行valueChangeListener并避免必须执行valueChange函数,但这是可行的,因此我不在乎找出其他方法。