【问题标题】:how to disable row-selection of datatable in primefaces如何在primefaces中禁用数据表的行选择
【发布时间】:2014-03-21 09:20:34
【问题描述】:

我正在使用 Primefaces 4.0, 我有一个具有多项选择功能的数据表。我愿意实现的是仅通过复选框按钮选择行,禁用单击行的功能。在目前的情况下,即使我单击任何行,我的复选框也会被选中,我想禁用行选择。

<p:dataTable id="tradingTable" scrollable="true"
                resizableColumns="true" draggableColumns="true"  scrollWidth="1265"
                scrollHeight="650" var="pgers"
                selection="#{pager.selectedPageArray}"
                value="#{pager.pageDataModel}"
                sortMode="multiple"
                editable="true" editMode="cell" 
                rowSelectMode="add"     

                >  
                <p:column width="30" selectionMode="multiple"   >
                </p:column> 

我从this 论坛获得了一些解决方案,但无法解决。请建议我需要做什么。

【问题讨论】:

    标签: jquery jsf primefaces datatables


    【解决方案1】:

    虽然您的问题是关于 Primefaces 4.0,但我认为强调这个问题现在已在较新版本中得到解决会很有用。它可能对其他人有用。

    根据feature request,Primefaces 版本 5.0.35.1 现在支持此功能,只需将 rowSelectMode="checkbox" 添加到数据表即可。

    文档参考(PF 5.1):

    使用 rowSelectMode 选项自定义行的默认行为 单击启用多项选择的数据表。默认值为 “新”清除以前的选择,“添加”模式保留以前的选择 选择与元键打开时通过鼠标单击选择行相同 “复选框”模式只允许使用复选框进行行选择。

    【讨论】:

      【解决方案2】:

      我使用的是 PrimeFaces 3.5,但我认为同样的解决方法应该适用。
      我为禁用行选择所做的是remove the selected row immediately with the rowSelect event by adding <p:ajax /> component in the datatable

      这可能不是一个好的解决方案,但至少它有效。

      【讨论】:

        猜你喜欢
        • 2013-03-14
        • 2015-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-09
        • 2014-03-19
        • 2013-05-24
        • 1970-01-01
        相关资源
        最近更新 更多