2014-04-15 35 views
1

我使用的是ace:dataTable来显示列表。当用户点击一行时,会显示一个详细信息弹出窗口。我试图实现的是点击对行的选择没有影响。ace:dataTable - 在rowSelectListener中清除选择

这是我的代码:

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()); 
} 

弹出所示,但选择IST仍然存在。有任何想法吗?

回答

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()); 
} 
+0

这是一种替代方法,但不回答我的问题。不管怎样,谢谢你。 – Zeemee