【问题标题】:p:dataList inside of p:dataTablep:dataList 内 p:dataTable
【发布时间】:2013-04-28 10:07:10
【问题描述】:

我使用<p:dataTable> 来显示我的文件的值。每个文件内部都有一个元数据列表。我想在文件的其他列旁边将每个元数据显示为自己的列。 (我排除了其他列以使代码更具可读性)。

所以,我的问题是,<p:dataList> 不显示列。如果有人认为这是问题所在,则每个元数据中的元名称都是相同的。

我已经尝试使用 <p:dataTable> 而不是 <p:dataList>,但由于我的客户最初希望将元数据显示为自己的列,这不是我的首选方式,但另一方面它正在工作。

<p:dataTable id="fileList" var="f" value="#{reader.files}" rendered="#{reader.showFileTable()}">
    <p:dataList value="#{f.meta}" var="meta1">
        <p:column>
           #{meta1.value}
        </p:column>
    </p:dataList>

    <p:column headerText="Metadaten">
        <p:dataTable value="#{f.meta}" var="meta">
            <p:column headerText="#{meta.name}">
                 #{meta.value}
            </p:column>
        </p:dataTable>
     </p:column>
</p:dataTable>

我非常感谢任何帮助,我如何使代码正常工作,以便每个 metadatefileList-dataTable 中都有自己的列。

P.S:我已经尝试过c:forEachui:repeat,但也没有用。

P.P.S:我忘了提一下,我的客户有时不想看到特定的元数据,所以如果可以使用建议的解决方案来做到这一点,那就太好了。 p>

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    您可以使用&lt;p:columns&gt; 标记在primefaces 中动态构建列,请参阅vdl

    查看primefaces showcase 示例

    【讨论】:

    • 列是否可以隐藏一个特定列?因为我的客户不时想隐藏一些元数据,如果他不能这样做,那将是一个很大的劣势。例如:我有元数据“Year”、“Customer”和“Ordernumber”。我只想显示其中的 2 个 - 是否可以使用列的“渲染”值来仅显示 2 个?因为我不想弄乱我文件中的元日期,意思是在每个文件中创建一个 secondList,它只显示应该显示的元日期。
    • @TsukiShimizu,稍微调整一下,我相信你可以解决这个问题:)。 &lt;p:columns/&gt; 所需要的只是一个用于构建列的列表。所以限制什么使它进入该列表并解决问题
    【解决方案2】:

    假设你有这个代码:

    <p:dataList id="fileList" var="f" value="#{reader.files}">
        <p:dataTable value="#{f.listItems}" var="meta1">
            <p:column>#{meta1.value}</p:column>
            <p:columns value="#{meta1.listItems}">...</p:columns>
        </p:dataTable>
    </p:dataList>
    

    未生成嵌套数据表中的动态列:似乎 p:columns 不能像“f”和“meta1”那样引用 var。 我可以理解“meta1”不可见,因为它正在生成标题表,但我真的不明白为什么“f”当时不可见。

    有什么想法吗?谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多