取消在Rich中的一行:ScrollableDataTable

时间:2010-07-27 13:45:48

标签: java jsp jsf richfaces

在我的应用程序中,我需要用户能够在表格中选择一行。当他们使用该行中的数据完成后,他们会单击取消/重置按钮以重置其他一些页面元素。我需要做的是让重置按钮不亮或取消选择数据表中突出显示/选中的行。我一直无法弄清楚如何在我的支持bean中做这件事。

从我的JSP页面:

<rich:scrollableDataTable id="adjusterScheduleScrollableDataTableId" height="200px"
           width="807px" rows="10" sortMode="single" var="item"
           value="#{controller.searchResults}" selectionMode="single"
           binding="#{controller.table}" selection="#{controller.selection}">
      <a:support event="onRowClick" action="#{controller.enableTools}" reRender="tools"/>
      ...
      multiple columns 
      ...
</r:scrollableDataTable>
<h:panelGroup id="tools">
    <h:commandButton id="reset" action="#{controller.reset}" value="Reset" />
</h:panelGroup>

来自我的支持bean:

private UIScrollableDataTable table;private Selection selection;
...
    public String reset(){
        //WHAT GOES HERE TO UNSELECT ROW??
    }
...

2 个答案:

答案 0 :(得分:3)

所以我设法找出问题的解决方案。我真的很惊讶没有人能够回答这个问题。

private UIScrollableDataTable table;private Selection selection; 
... 
   public String reset(){ 
       table.setSelection(new SimpleSelection());
   } 
... 

答案 1 :(得分:0)

需要清除两件事,即活动行和选定行。

private UIScrollableDataTable table;
table.setActiveRowKey(-1);
((SimpleSelection)table.getSelection()).clear();