我有一个带有复选框的JSF woodstock表。当一行被选中时,我想对这些项进行一些处理。我设法获取了一组RowKey对象,但找不到如何获取我放回的原始对象。该表由一个ObjectListDataProvider填充。
发布于 2008-09-19 09:59:25
总是很高兴能够回答你自己的问题。我设法解决了这个问题,方法是将表的数据提供程序转换为ObjectListDataProvider,并使用'getObject‘方法获取原始对象。
发布于 2010-08-13 07:40:29
因此,我偶然发现了这一点,并希望找到如何实际进行选择并获得行信息。我最终弄明白了这一点,我想其他人可能会从我的做法中受益。
我在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
}现在,如果您有任何想要操作所选行中的数据的按钮,您可以这样做来获取对象数据。Jasper在上面提到了这一点。
/*getObjectListDataProviderImpl() returns the implementation of
*ObjectListDataProvider for your dynamic data.
*/
getObjectListDataProviderImpl().getObject(getCurrentRowKey()); 你也许能够使用像单选按钮的selectedValue属性这样的东西,而不是做valueChangeListener,从而避免不得不做valueChange函数,但这是有效的,所以我不关心找出另一种方法。
https://stackoverflow.com/questions/100820
复制相似问题