2017-10-04 7 views
-1

J'ai créé un datatable en angulaire 4 en utilisant prime ng premierface. Je suis capable de lier la table du serveur distant. J'ai donné le nom de la colonne et en-tête commeComment faire table de données prime-ng en dynamique dans angulaire 4?

{ field: 'StudentId', header: 'Student Code' }, 
     { field: 'Dept', header: 'Department' }, 
     { field: 'PassoutYear', header: 'Passout Year' }, 

et Html sera comme

<p-dataTable #dt [value]="Studentlist" exportFilename="Studentlist" reorderableColumns="true" resizableColumns="true" columnResizeMode="expand" selectionMode="single" [(selection)]="selectedCar" (onRowSelect)="onRowSelect($event)" [responsive]="true" [rows]="8" [paginator]="true" scrollHeight="300px"> 
     <p-header>STUDENT RECORDER</p-header> 
     <p-header> 
      <div style="text-align:left"> 
       <p-multiSelect [options]="columnOptions" [(ngModel)]="cols"></p-multiSelect> 
      </div> 
     </p-header> 

     <p-column *ngFor="let col of cols" [field]="col.field" [header]="col.header" [sortable]="true" [filter]="true" [editable]="true" filterMatchMode="startsWith" filterPlaceholder="Search"></p-column> 

Mais ici, je veux afficher la table de données dynamique. C'est à dire. le nombre de colonnes ne sera pas fixé. Donc, ma table devrait accepter même si c'est une seule colonne ou n'importe quel nombre de colonnes. Comment c'est possible?

+0

vous devez utiliser tuyau angulaire, où vous devez appeler pipe sur tableau Col.. va chercher à ce sujet si tu ne l'as pas eu. Je vais laisser une réponse pour vous –

+0

comment nous pouvons l'implémenter en utilisant pipe parce que l'en-tête de colonne et le contenu seront aussi dynamiques et auront une limite de compte. – adarshkavallore

Répondre

0

Essayez comme ceci:

this.Studentlist = [{ 
    StudentId: 1000230, 
    Dept: 'Computer Science', 
    PassoutYear: 2017 
}] 

this.cols = [{ 
    field: 'StudentId', 
    header: 'Student Code' 
}, { 
    field: 'Dept', 
    header: 'Department' 
}, { 
    field: 'PassoutYear', 
    header: 'Passout Year' 
}] 

<p-dataTable [value]="Studentlist"> 
    <p-column class="a" *ngFor="let col of cols" [field]="col.field" [header]="col.header"></p-column> 
</p-dataTable> 
+0

this.Studentlist = [{ Etudiant: 1000230, Dept: 'Computer Science', PassoutYear: 2017 }] ici les noms des colonnes changent appel api prochaine .. dans ce cas, comment nous pouvons réaliser? – adarshkavallore