【问题标题】:How to add double click listener to primefaces datatable如何将双击侦听器添加到primefaces数据表
【发布时间】:2013-05-01 11:20:14
【问题描述】:

我想做的是;当用户单击行时,它将选择行。当用户双击行时,它将开始单元格编辑。在 Primefaces 展示(http://www.primefaces.org/showcase/ui/d ... nstant.jsf)它说“即时行选择、dblclick 选择和取消选择是使用 ajax 行为实现的。”但我找不到他们在哪里实施 dblclick 选择。有没有办法通过双击事件启动单元格编辑事件?

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    尝试在你的桌子上设置dblClickSelect="true"

    来自文档:

    默认情况下,单击事件启用基于行的选择,启用 dblClickSelect 以便在行上双击进行选择。

    【讨论】:

    • 数据表中没有“dblClickSelect”属性。顺便说一句,我使用的是 primefaces 3.5
    • 嗯...根据3.5 documentation 应该有。请参见第 137 页。仍然可能存在错误。据我所知,这在 v 2 中有效。
    【解决方案2】:

    使用

    <p:ajax event="rowDblselect" />
    

    在你的&lt;p:dataTable /&gt; 中像这样:

    <p:dataTable 
        id="yourTableId" 
        value="#{yourBean.items}" 
        selectionMode="single" 
        selection="#{yourBean.selectedItem}" 
        var="item" 
        rowKey="#{item.id}">
    
        <p:ajax 
            event="rowDblselect" 
            listener="#{yourBean.onRowDoubleClick}" 
            update="@form:theComponentYouWantToUpdate" 
            global="false" />
    
        <!-- your columns here -->
    
    </p:dataTable>
    

    在您的 bean/控制器中使用:

    import org.primefaces.event.SelectEvent;
    
    public void onRowDoubleClick(final SelectEvent event) {
        YourObject obj = (YourObject) event.getObject();
        // rest of your logic
    }
    

    【讨论】:

      【解决方案3】:
      <p:ajax event="rowDblselect">
      

      来自PrimeFaces Users Guide

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-21
        • 2022-08-03
        • 2013-02-17
        • 2011-09-28
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        相关资源
        最近更新 更多