【问题标题】:Primefaces datatable is not populating with the list from backing beanPrimefaces 数据表未填充来自支持 bean 的列表
【发布时间】:2011-06-29 09:25:46
【问题描述】:

我有一个feedBackSearchList如下,

列出 feedBackSearchList;

我正在尝试将此列表设置为填充到我的 xhtml 页面的数据表中。

setFeedBackSearchList(getFeedbackSearchService().getSearchResult(
                idemployee, idCliente, applicId, idEst, estId, idtecnologia));

我从数据库中得到了列表,但它没有显示在 xhtml 页面中。

请帮助我。 xhtml页面如下,

<p:dataTable id="feedBackResultTab" var="feedBackResult" dynamic="true" value="#{feedbackSearchView.feedBackSearchList}" >
<p:column>
<f:facet name="header">
<h:outputText value="Employee" />
</f:facet>
<f:facet name="output">
<h:outputText value="#{feedBackResult.employeename}" />
</f:facet>
    </p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Client" />
</f:facet>
    <f:facet name="output">
<h:outputText value="#{feedBackResult.desCliente}" />
</f:facet>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Application" />
        </f:facet>
<f:facet name="output">
<h:outputText value="#{feedBackResult.applicationDesc}" />
        </f:facet>
    </p:column>
    <p:column>
                <f:facet name="header">
                            <h:outputText value="Estimation Methode" />
                        </f:facet>
                        <f:facet name="output">
                                <h:outputText value="#{feedBackResult.desMethodEst}" />
                            </f:facet>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Technology" />
                        </f:facet>
                        <f:facet name="output">
                                <h:outputText value="#{feedBackResult.destecnologia}" />
                            </f:facet>
                    </p:column>
                    <p:column>
                        <f:facet name="header">
                            <h:outputText value="Date" />
                        </f:facet>
                        <f:facet name="output">
                                <h:outputText value="#{feedBackResult.fechaultimaactualizacion}" />
                            </f:facet>
                    </p:column>

                </p:dataTable>

请帮助我在哪里做错了。

【问题讨论】:

    标签: jsf primefaces


    【解决方案1】:

    您可以像访问数组一样访问对象,而不是 feedBackResult.desMethodEst 只是 feedBackResult[0]

    【讨论】:

      【解决方案2】:

      您不应该在 setter 方法中填充列表。如果 JSF 构建数据表,它将调用列表的 getter 方法。因此,您应该在 getFeedBackSearchList 中填充列表,或者(甚至更好):在 bean 构建时在方法 populateFeedbackSearchList 中填充。

      更新:

      好的,你应该像这样改变你的列:

      <p:column>
        <f:facet name="header">
          <h:outputText value="Employee" />
        </f:facet>
        <h:outputText value="#{feedBackResult.employeename}" />
      </p:column>
      

      单元格内容不需要分面,仅用于标题。

      【讨论】:

      • 是的,你说的没错。但是,在这种情况下,我有带有选择框的表单,根据我必须查询数据库的选择,将返回一个列表,我需要用返回的列表填充数据表。在这里,我得到 List 类型的列表。如何将此列表填充到数据表中。
      • @Narasimha 确保在构建表之前调用了 set-method。在列表的 get 方法中添加断点,并检查列表是否包含构建数据表时的数据。
      • 谢谢马特。我已经按照你的建议做了。但列表不是空的。数据表无法显示列表中的数据。我没有此支持 bean 的相应模型类。它将联系多个模型类进行属性映射。如何访问数据表中的 List
      • 感谢您的回复马特。我删除了输出文本的方面。但结果是一样的。有没有办法解决这个问题。
      猜你喜欢
      • 1970-01-01
      • 2013-10-10
      • 2014-01-25
      • 2015-01-02
      • 2013-04-13
      • 1970-01-01
      • 2013-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多