【问题标题】:How to get all rows of jsf or PrimeFaces datatable programmatically如何以编程方式获取 jsf 或 PrimeFaces 数据表的所有行
【发布时间】:2012-03-05 17:31:07
【问题描述】:

我正在使用数据表,每一行都有一个 selectonemenu 作为列。

我的页面上有一个按钮。单击它时,我想检查数据表的每一行,找到 selectone 菜单的选定项,并根据该选定值制作一些数据库内容。

有没有更简单的方法而不使用编程方式或我的代码的任何解决方案?

这是我的代码:

这里我只是想找一个输出文本,但是没有用。

private DataTable myTable//primefaces datatable;



for ( UIComponent row : myTable.getChildren()) {
            HtmlOutputText  a=  (HtmlOutputText) row.findComponent("bname");

            System.out.println("click"+a.getValue());       

        }

【问题讨论】:

    标签: jsf primefaces uicomponents


    【解决方案1】:

    只需将选择项的选定值绑定到地图。

    <p:dataTable .... rowIndexVar="index">
       ... somwhere in column
       <p:selectOneMenu value="#{backingBean.values[index]}" >
           ... 
    

    【讨论】:

      【解决方案2】:

      将 datatable 的 value 属性绑定到 POJO 列表。表列对应 POJO 成员。

      public class MyPOJO{
      public String column1;
      public String column2;
      public String column3;
      public String column4;
          //setters and getters here ....
      }
      
      @ManagedBean(name="beanDetails")
      @ViewScoped
      public class MyBean {
      public List<MyPOJO> list_POJO;
      private HashMap<String,String> fieldValues;
          //setters and getters here ....
      }
      
      <p:dataTable id="myTable" value="#{beanDetails.list_POJO}" var="dataItem"> 
      <p:column>
          <f:facet name="header">
             <h:outputLabel value="Column 1" />
          </f:facet>
      
         <p:cellEditor>
              <f:facet name="output">
                  <h:outputLabel value="#{dataItem.column1}" />
              </f:facet>
      
              <f:facet name="input">
                    <p:selectOneMenu id="relevance" value="#{dataItem.column1}">
                           <f:selectItems value="#{beanDetails.fieldValues}"/>
                    </p:selectOneMenu>
              </f:facet>
         </p:cellEditor>
      </p:column>
         .... 
         ....
      </p:dataTable>  
      
      <p:commandButton value="Submit" actionListener="#{beanDetails.submitDetails}"/>
      

      并且在 submitDetails 中,可以使用 list_POJO 遍历数据表记录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-17
        • 2014-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-05
        • 2013-08-23
        • 1970-01-01
        相关资源
        最近更新 更多