Primeng数据表行未显示单元格值

时间:2019-02-08 08:47:28

标签: angular primeng-datatable

我使用Primeng数据表来显示角度选择中的选定值。

只要在下拉菜单中选择该选项,就需要在主数据表中显示所选值。

在这里,我有一个空行,而不是选择的值:

enter image description here

代码:

 <mat-form-field fxFlex="50%">
   <mat-label>Select The NAICS Name Or NAICS Code.</mat-label>
   <mat-select multiple name="cnae"(selectionChange)="cnaeChangeValue($event)">
    <mat-option *ngFor="let cnae of listOfcnae.default.cnaeData" 
       [value]="cnae">
    {{cnae.TextField }}
     </mat-option>
   </mat-select>
</mat-form-field>
<p-table [columns]="cnaeCols" [value]="selectedCnaeValues" [paginator]="true"[rows]="10">
  <ng-template pTemplate="header" let-columns>
     <tr>
         <th *ngFor="let col of columns">
          {{col.header}}
         </th>
     </tr>
  </ng-template>
  <ng-template pTemplate="body" let-rowData let-columns="columns">
    <tr>
        <td *ngFor="let col of columns">
        {{rowData[col.filed]}}
      </td>
    </tr>
  </ng-template>
</p-table> 

ts code:
ngOnInit() {
this.cnaeCols = [
      { field:"RowNumber", header: "RowNumber"},
      { filed:"TextField", header: "TextField"},
      { field:"ValueField", header: "ValueField"},
    ]
}
 cnaeChangeValue(eventVal) {
    this.selectedCnaeValues.push(eventVal.value);
  }

And json value:
[
{
 "RowNumber": "1",
 "TextField": "1011201 - FRIGORÍFICO - ABATE DE BOVINOS",
  "ValueField": "168"
}
]

1 个答案:

答案 0 :(得分:0)

我认为选择时的物料下拉列表(selectionChange)="cnaeChangeValue($event)将返回数组中所有选定的项目,并且您试图将其推入数组,这就是表格未显示数据的原因。

cnaeChangeValue(eventVal) {
    this.selectedCnaeValues = eventVal.value; // Will work
  }

Solution Created on stackblitz

希望这会有所帮助!