【问题标题】:Submit button has to be pressed after a sort is completed排序完成后必须按下提交按钮
【发布时间】:2013-12-21 08:23:55
【问题描述】:

我有一个显示用户信息的 primefaces 数据表,这工作正常,但是当使用数据表的内置排序功能时,我必须按下提交才能将数据放入数据表中,因为当我按下排序时,我只能得到消息“未找到结果”但是一旦我按下提交它就会填充数据表并且以正确的顺序无论如何我都可以做到这一点而无需每次都按下提交按钮

这里是代码

           <h:inputHidden id="search" value="#{bean.searchString}"  />   
                <p:commandButton value="View all" action="#{bean.usernameSearch}" update="group" />
            </p>

            <br></br>
            <br></br>
            <h:panelGroup id="group">
                <p:dataTable id="UserTableSearch"
                             rowKey="#{bean.userSearchResults}"
                             rendered="#{facesContext.postback}"
                             widgetVar="UserTableSearch" 
                             paginator="true" 
                             rows="10"
                             value="#{bean.userSearchResults}"
                             var="item"
                             emptyMessage="No results found."
                             scrollable="true">


                    <p:column id="username"   
                              headerText="#{bundle.labelUsername}"
                              sortBy="username"
                              width="150">                      
                        <h:outputText value="#{item.username}"/>
                    </p:column>

                    <p:column id="firstname"
                              headerText="#{bundle.labelFirstName}"
                              sortBy="firstname"
                              width="150">
                        <h:outputText value="#{item.firstName}"/>
                    </p:column >

                    <p:column id="surname"
                              headerText="#{bundle.labelSurname}"
                              sortBy="surname"
                              width="150">
                        <h:outputText value="#{item.surname}"/>
                    </p:column >

...

【问题讨论】:

    标签: jquery jsf primefaces datatable


    【解决方案1】:

    您只需调用submit 方法。 reference

    $('.submit-button').submit();
    

    您可以将其附加到排序按钮的onclick 事件。

    【讨论】:

    • 这是排序按钮没有 onclick 事件的问题,这是 primefaces 数据表中内置的功能
    • 当然,您仍然可以将事件附加到按钮。查看this 页面。如果您在控制台中运行 document.getElementById('j_idt19:dataTable:j_idt24').onclick = function(){console.log(1);} 并单击制造商按钮,它会进行排序并在控制台中打印 1
    • 另外,如果您担心会干扰排序标题/按钮的默认行为,请改用addEventListener
    • 抱歉,我将如何在 netbeans 中做到这一点?对不起,我对这个完全陌生
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-03
    • 1970-01-01
    • 2021-10-18
    • 2016-02-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多