prime-ng datatable:如何在p-column中使用带有ng-template标签的Globalfilter

时间:2017-04-25 12:14:16

标签: angular primeng

CONTEXT

我在Angular项目中使用Prime-ng Datatable模块。我的数据表中有7列如下所示。数据在浏览器中显示得非常好

问题

我无法使用[globalFilter]。当我尝试进行搜索时,我的数据表中的结果始终显示为“未找到记录”。就像全局过滤器无法覆盖<ng-template>中的数据。

APP.COMPONENT.HTML

<!-- language: lang-html -->

<div>
    <input #gb type="text" pInputText size="50" placeholder="Global Filter">
</div>

<p-dataTable [value]="reviewTasksList" [rows]="5" [paginator]="true" [globalFilter]="gb" [pageLinks]="3" [responsive]="true" [stacked]="stacked">
 <p-column field="name" header="Name">
   <ng-template let-col let-file="rowData" pTemplate="body">
       <a [routerLink]="[file.id]" href="#">{{ file.category.name }}</a>
   </ng-template>
 </p-column>
</p-dataTable>

1 个答案:

答案 0 :(得分:1)

我认为您应该确保field设置正确。

例如,如果您的模型对应于此:

reviewTaskList = {
  category: {
    name: "Category Name"
  }
}

然后你必须像这样使用它:

<p-dataTable [value]="reviewTasksList" [rows]="5" [paginator]="true" [globalFilter]="gb" [pageLinks]="3" [responsive]="true" [stacked]="stacked">
 <p-column field="reviewTasksList.category.name" header="Name"></p-column>
</p-dataTable>