如何获取在Primefaces Filtered DataTable字段中输入的值并提交到存储过程

时间:2015-02-12 21:37:54

标签: jsf-2 primefaces

我正在使用Primefaces 5.1与tomcat 7和SQL Server for database。我有一个存储过程来查询用户的几个属性。

我想找出

  1. 从primefaces数据表中获取过滤器字段值。
  2. 停止默认的ajax查询,因为它为我在过滤器字段中输入的每个字符命中了我的数据库。
  3. 当我点击提交按钮时,我必须将所有这些字段值都存储到我的所有存储过程中。
  4. 存储过程:

    SELECT * 
    FROM table 
    WHERE age >=? and income >=?
    

    支持bean

    @ManagedBean(name="userBean")
    @RequestScoped
    public class UserBean {
    private String firstName;
    private int income;
    private int age;
    private int filter_income;
    private int filter_age;
    getter/setter ......
    

    的index.xhtml

    <h:form id="form">
    <p:dataTable id="userTable" value="#{userDAO.data}" var="ut" >
      <p:column headerText="First Name">
          <h:outputText value="#{ut.firstName}" />
      </p:column>
    
      <p:column headerText="Income" style="text-align:right;" width="120"
                filterBy="#{ut.income}"
                filterFunction="#{dataFilter.filterByIncome}"  binding="#{userBean.filter_income}" filterEvent="enter" >
                <h:outputText value="#{ut.income}">
                    <f:convertNumber currencySymbol="$" type="currency" />
                </h:outputText>
            </p:column>
    
    <p:column headerText="Age" style="text-align:right;" width="120"
                filterBy="#{ut.age}"
                filterFunction="#{dataFilter.filterByAge}"  binding="#{userBean.filter_age}" filterEvent="enter" >
                <h:outputText value="#{ut.age}" />
            </p:column>
    
    • 为每个列创建绑定值以获取输入文本,但没有工作。
    • 试图停止Ajax filterEvent =&#34;输入&#34;没有工作。
    • 我想知道提交按钮动作监听器的最佳方法是什么。

    基本上,我想在存储过程中使用自己的过滤方法。通过利用primefaces数据表。

0 个答案:

没有答案