2017-10-04 5 views
0

J'ai une directive pour la création de table à l'aide PrimeNG p-datatable:PrimeNG Col. DataTable avec objet JSON imbriqué

<p-dataTable paginatorPosition="top" scrollable="true" scrollHeight="200px" 
    [value]="table.cells" resizableColumns="true" [loading]="loading"> 
      <p-column *ngFor="let col of table.headers" [field]="col.field" [header]="col.header" [sortable]="col.sortable" [style]="{'width':'230px'}"> 
       ... 

service intérieur a créer une entité comme celle-ci:

 header = new MyTableHeaders(); 
     header.header = "Col Head" 
     header.field = "field"; 
     header.sortable = false; 
... 

Le est quand J'ai un objet imbriqué à passer, comme ceci:

name: "name", 
address: { 
    city: "city", 
    street: "street", 
    ... 

J'ai essayé de passer:

header = new MyTableHeaders(); 
header.header = "Col Head" 
header.field = "address.city"; 
header.sortable = false; 

ou

header = new MyTableHeaders(); 
header.header = "Col Head" 
header.field = "address[city]"; 
header.sortable = false; 

mais aucune valeur apparaît dans la colonne. Pouvez-vous m'aider? Merci

Répondre

-1

Je pense que vous devez changer votre p-colonne pour inclure un ng-modèle ... Jetez un oeil à

<p-column field="Sessions" [editable]="true" header="Start Date">    
    <ng-template let-col let-sessions="rowData" let-ri="rowIndex" pTemplate="body"> 
    <div> 
     <p>{{sessions.Sessions[0].StartDateTime | date: 'd,MMM,yyyy'}}</p> 
     </div> 
    </ng-template> 
</p-column> 

pour un exemple. Voir aussi here

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. – pirho

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [De l'examen] (/ review/low-quality-posts/18242165) – m00am