我正在使用ag-grid最新版本(^20(。我已经尝试过单元格渲染,但不确定如何显示字符串而不是枚举。
在示例组件中.html代码
<ag-grid-angular
#agGrid style="width: 100%; height: 350px;"
class="ag-theme-balham"
[gridOptions]="gridOptions"
[columnDefs]="columnDefs"
[showToolPanel]="showToolPanel"
[defaultColDef]="defaultColDef"
[rowData]="rowData">
</ag-grid-angular>
在 sample.component.ts 代码中
export const PROJECT_LIST_COLUMNS = [
{ headerName: 'Code', field: 'code', width: 120 },
{ headerName: 'Name', field: 'name', width: 200 },
{ headerName: 'Customer', field: 'customerName', width: 200 },
{ headerName: 'Manager', field: 'manager', width: 150 },
{ headerName: 'Project Group', field: 'projectGroup', width: 150 },
{
headerName: 'End Date',
field: 'endDate',
width: 130,
},
{
headerName: 'Status', //what I want is from the below project status file I want the string
field: 'status',
width: 150,
cellRenderer: data => {
return data.value ? data.value : 'not found';
},
},
];
这是我的项目状态.ts文件
export enum ProjectStatus {
Queue = -3,
Hold= -2,
Proposal = -1,
NS= 0,
WIP= 1,
Completed = 2,
Posted= 3,
Closed = 4,
}
不知道如何实现这一点。请帮忙
使用 ProjectStatus[data.value]
获取枚举值的文本。
{
headerName: 'Status',
field: 'status',
width: 150,
cellRenderer: data => {
return (data.value !== null && data.value !== undefined)
? ProjectStatus[data.value] : 'not found';
},
}
注意:请务必将您的状况更新为 (data.value !== null && data.value !== undefined)
,否则ProjectStatus.NS
将显示not found
。
参考:如何获取 TypeScript 枚举条目的名称?
详细参考:: 打字稿手册 - 枚举
反向映射
除了创建具有属性名称的对象之外 对于成员,数字枚举成员还可以从 枚举值到枚举名称。例如,在此示例中:
enum Enum { A } let a = Enum.A; let nameOfA = Enum[a]; // "A"