在头面中,p:datable的var属性为空。

问题描述 投票:1回答:1

我有这样的datatable。

  <p:dataTable value="#{noteMB.noteList}" var="noteItem" id="noteListTable" 
        rowKey="#{noteItem.hashCode()}" selectionMode="single"  selection="#noteMB.selectedNote}" paginator="true" rows="10" paginatorPosition="top"
        paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15">

    <p:column width="300">
       <f:facet name="header">
            <h:outputText value="#{noteItem.name == 'blabla' ? 'true' : 'false' }"  />
       </f:facet> 
            <h:outputText value="#{noteItem.code}"  />
    </p:column>
  </p:dataTable>

我的问题:为什么noteItem在facet name="header "区域为null ?

primefaces jsf-2
1个回答
2
投票

noteItem是你的var条目。

var="noteItem"

这个var属性应该是用来保存每行的变量项。dataTable.var会遍历你的每一个项目。noteList.

正如丹尼尔所说,在 h:facet 标签,甚至没有开始创建行。它是每一列的主头,在那里实际上没有可数据化的行,因此你在那里得到的是空值。

简而言之,你不能访问在facets中由var属性给出的对象。面是独立于行的.

© www.soinside.com 2019 - 2024. All rights reserved.