如何检索woodstock表的选定行

时间:2008-09-19 09:51:04

标签: jsf woodstock

我有一个带复选框的JSF woodstock表。当选择一行时,我想对这些项目进行一些处理。我设法得到一些RowKey对象,但无法找到如何获取我放回来的原始对象。该表由ObjectListDataProvider填充。

2 个答案:

答案 0 :(得分:1)

能够回答你自己的问题总是很好。 我设法通过将表的数据提供程序转换为ObjectListDataProvider来解决它,并使用方法'getObject'来恢复原始对象。

答案 1 :(得分:0)

所以我偶然发现了这一点,并希望找到如何实际选择并获取行信息。我最终想出来了,我认为其他人可能会从我的表现中受益。

我将一个RadioButton添加到JSP中的表列并添加了一个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()); 

您可以将单选的selectValue属性与其他内容一起使用,而不是使用valueChangeListener,并避免执行valueChange函数但这样做有效,所以我不想弄清楚另一种方法。