2015-10-15 62 views
0

一个primefaces的不可编辑栏编辑栏和开放的细节对话框行选择电池使用如何编辑上的数据表

<p:dataTable 
    id="myissues" 
    value="{myIssuesController.myIssuesListModel.issueList}" 
    var="issueElement" 
    selection="#{issue}" 
    selectionMode="single" 
    rowKey="#{issueElement.idIssue}" 
> 

连同:

<p:ajax 
    event="rowSelect" 
    listener="#{myIssuesController.onSelectOneRow}" 
    update=":issueDetail" 
    oncomplete="PF('issueDetail').show();" 
/> 

我可以打开一个对话框时我选择在我的dataTable一行。

如何在我的表格中添加一个可编辑列,使其进入编辑模式,而不是在单击某个单元格时打开详细信息对话框?

我最初的想法是简单地使列可编辑,执行,检查是否选择该列是可编辑的功能的onComplete:

如果是,它会让它进入编辑模式;如果没有它会调用PF('issueDetail').show();和显示细节对话框。只有

我不知道如何某一特定列已被选中进行检查。我怎样才能做到这一点?

我应该做这样还是有一个简单的解决方案?

回答

0

我解决了使用primefaces selection

基本上,我删除了<p:ajax>组件,并添加了一个带放大镜图标和行编辑器图标的额外列以打开详细信息对话框/编辑条目;这比使用行选择操作更直观和用户友好的解决方案。额外的列看起来像这样:

<p:column style="width:32px;text-align: center"> 
    <p:commandButton update=":issueDetail" 
     action="#{myIssuesController.onSelectOneRow}" 
     oncomplete="PF('issueDetail').show()" 
     icon="ui-icon-search" title="View" /> 
    <p:rowEditor /> 
</p:column>