2017-07-21 3 views
1

J'ai un tableau d'objets comme:PrimeNg Datatable: Liez un tableau dynamique d'objets

"rows": [ 
{ 
    "id": 1, 
    "createdAt": "2017-07-21T06:05:38.000Z", 
    "updatedAt": "2017-07-21T06:05:38.000Z", 
    "createdBy": null, 
    "modifiedBy": null, 
    "name": "ABC", 
    "owner": "Dian", 
    "age": 23, 
    "industry": "abc" 
}, 
{ 
    "id": 2, 
    "createdAt": "2017-07-21T06:05:38.000Z", 
    "updatedAt": "2017-07-21T06:05:38.000Z", 
    "createdBy": null, 
    "modifiedBy": null, 
    "name": "ABsC", 
    "owner": "Disdan", 
    "age": 23, 
    "industry": "absdc" 
} 

]

Je veux que cela se lier à mon primeng datatable. En passant par la présente documentation, la datable nécessite des données telles que,

[ 
     {field: 'vin', header: 'Vin'}, 
     {field: 'year', header: 'Year'}, 
     {field: 'brand', header: 'Brand'}, 
     {field: 'color', header: 'Color'} 
    ]; 

Dans mon cas, ces données peuvent être le sens dynamique Sélectionnez peut venir au lieu de nom. Comment puis-je lier ces données dans mon datatable. Merci d'avance!

Répondre

0

Assez simple, en fait. Ne fournissez pas de champ, ajoutez un ng-template et utilisez la logique nécessaire pour déterminer ce qu'il faut afficher dans le champ.

Par exemple:

<p-column header="Whatever You Want Displayed In The Column Header"> 
    <ng-template let-entry="rowData" pTemplate="body"> 
     {{ (entry.id === 1 ? entry.displayName : entry.name) }} 
    </ng-template> 
</p-column>