2017-07-02 27 views
1

嘗試設置動態列寬時出現跟隨錯誤 錯誤:無法找到不同的支持對象'{width:'180px','text-align':'center'} 'PrimeNg使用模板更改p列寬度

<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定義爲

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

如果定義風格的行內有 – Vivek

+0

你要買樣式添加到數據沒有問題? – Aravind

+0

我想提供不同的寬度到我的表中不同的列和通過外部定義的userColumns定義。 – Vivek

回答

0

試着改變你的風格的定義和周圍添加一個單引號「寬度」 這樣的:

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

解決方案是定義爲myStyle的對象,而不是字符串。 否則,即使你沒有得到不同的錯誤,但寬度不會被設置。

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'} 
 
    }