2017-07-02 3 views
1

Je reçois erreur suivante lors de la tentative de définition de la largeur de colonne dynamique ERROR Erreur: Impossible de trouver un objet de support différent '{width:' 180px ',' text-align ':' center '} "PrimeNg modifier la largeur de p-colonne avec le modèle

<p-dataTable [value]="employees"> 
 
     <p-header>Employee List</p-header> 
 
     <p-column *ngFor="let userColumn of userColumns" 
 
     [field]="userColumn.field"   [header]="userColumn.title" 
 
     [sortable]="userColumn.sort" [style]="userColumn.myStyle"> 
 
     </p-column> 
 
    </p-dataTable>

userColumns définis comme

this.userColumns = [ 
 
    { 
 
     'field': 'userId', 
 
     'title': 'User Id', 
 
     'sort': 'true', 
 
     'template': '', 
 
     'myStyle' : '' 
 
    }, 
 
    { 'field': 'jobTitleName', 'title': 'Job title', 'sort': 'true','myStyle': ''}, 
 
    { 'field': 'lastName', 'title': 'Last name','sort': 'true', 'myStyle': ''}, 
 
    { 'field': 'preferredFullName', 'title': 'First name','sort': 'true', 'myStyle': ''}, 
 
    { 'field': 'dateOfJoining', 'title': 'Date of Joining','sort': 'true', 
 
     'myStyle': '{width: \'180px\', \'text-align\': \'center\'}' 
 
    }

+0

Si je définis en ligne de style, il n'y a aucun problème – Vivek

+0

vous cherchez à ajouter des styles aux données? – Aravind

+0

Je souhaite fournir une largeur différente aux différentes colonnes de ma table et à une définition userColumns définie en externe. – Vivek

Répondre

0

Essayez de changer la définition de votre style et ajouter une seule citation autour de « largeur » comme ceci:

this.userColumns = [ 
    { 
     'field': 'userId', 
     'title': 'User Id', 
     'sort': 'true', 
     'template': '', 
     'myStyle' : '' 
    }, 
    { 'field': 'jobTitleName', 'title': 'Job title', 'sort': 'true','myStyle': ''}, 
    { 'field': 'lastName', 'title': 'Last name','sort': 'true', 'myStyle': ''}, 
    { 'field': 'preferredFullName', 'title': 'First name','sort': 'true', 'myStyle': ''}, 
    { 'field': 'dateOfJoining', 'title': 'Date of Joining','sort': 'true', 
     'myStyle': '{\'width\': \'180px\', \'text-align\': \'center\'}' 
    } 
0

solution est de définir myStyle comme objet plutôt que de chaîne. Sinon, même si vous n'obtenez pas d'erreur différente, la largeur ne sera pas définie.

this.userColumns = [ 
 
    { 
 
     'field': 'userId', 
 
     'title': 'User Id', 
 
     'sort': 'true', 
 
     'template': '', 
 
     myStyle : '' 
 
    }, 
 
    { 'field': 'jobTitleName', 'title': 'Job title', 'sort': 'true','myStyle': ''}, 
 
    { 'field': 'lastName', 'title': 'Last name','sort': 'true', 'myStyle': ''}, 
 
    { 'field': 'preferredFullName', 'title': 'First name','sort': 'true', 'myStyle': ''}, 
 
    { 'field': 'dateOfJoining', 'title': 'Date of Joining','sort': 'true', 
 
     myStyle: {width: '180px', 'text-align': 'center'} 
 
    }