ace:dataTable - 在rowSelectListener中清除选择

时间:2014-04-15 10:49:01

标签: jsf icefaces

我使用ace:dataTable来显示列表。当用户单击某行时,将显示详细信息弹出窗口。我想要实现的是点击对行的选择没有影响。

这是我的代码:

public void rowSelected(SelectEvent event) {
    DataTable dataTable = (DataTable)event.getComponent();
    dataTable.getStateMap().setAllSelected(false);

    // Show Popup etc

    // Prints an empty list
    System.out.println(dataTable.getStateMap().getSelected());
}

显示弹出窗口,但选择仍然存在。任何想法?

1 个答案:

答案 0 :(得分:0)

<ace:dialog id="dialogid"
    header="Header" widgetVar="nodeDialog"
    modal="true" draggable="false" showEffect="true" hideEffect="true"
    relativePosition="center center">
   ---dialog contnent---
</ace:dialog>

public void rowSelected(SelectEvent event) {
    DataTable dataTable = (DataTable)event.getComponent();
    dataTable.getStateMap().setAllSelected(false);
    // Show Popup etc
    JavascriptContext.addJavascriptCall(facesContext(), "nodeDialog.show();");
    // Prints an empty list
    ---writwe to the dialog  contnent---
    System.out.println(dataTable.getStateMap().getSelected());
}