2017-09-15 4 views
1

J'ai un datatable avec la colonne Org. Liste distincte des orgs sont dans un tableau. Comment ajouter cette liste dans la liste déroulante du filtre de colonne. Lorsque j'essaie d'ajouter les options avec la liste, déroulant affiche sans valeur.can quelqu'un s'il vous plaît laissez-moi savoir comment ajouter des valeurs dynamiques dans la liste déroulante?Dans primeng Datatable filtre personnalisé ne fonctionne pas

<p-column field="org" header ="Org" [sortable]="true" [filter]="true" filterMatchMode="equals"> 
     <ng-template pTemplate="filter" let-col> 
      <p-dropdown [options]="orgGroupList" [style]="{'width':'100%'}" styleClass="ui-column-filter"></p-dropdown> 
     </ng-template> 
     </p-column> 


this.orgGroupList = 2,3,4,5,6,7 

Répondre

1

Il a travaillé après y compris appendTo = "corps" dans le menu déroulant tag

<ng-template pTemplate="filter" let-col> 
      <p-dropdown [options]="orgs" [(ngModel)]="selectedOrg" appendTo="body" [style]="{'width':'100%'}" (onChange)="dt.filter($event.value,col.field,col.filterMatchMode)" styleClass="ui-column-filter"></p-dropdown> 
     </ng-template> 
1

[options] devrait être tableau de SelectItem objets d'interface. Chaque élément doit inclure l'étiquette et les propriétés: valeur

{label: 'MyDisplayValue', value: 1} 

Dans votre code, vous passez tableau d'entiers (this.orgGroupList = 2,3,4,5,6,7) en entrée [options]. Changez-le en tableau d'objets d'interface SelectItem.

Pour référence, vous pouvez voir l'exemple officiel code source à: https://www.primefaces.org/primeng/#/datatable/filter

+0

Je suppose que votre code est 'this.orgGroupList = [2,3,4,5,6,7] ' – gio