如何根据 Angular 6 同一行中的其他单元格值,在 AG-Grid select 下拉列表中加载不同的选项?
How to load different options in AG-Grid select dropdown ,based on other cell value in the same row with Angular 6?
我在列定义中使用以下代码:
{ headerName: 'Part', field: 'part',
cellStyle: {'background-color': 'cyan'}, editable: true,
cellEditor:'agSelectCellEditor', cellEditorParams:
我在网格中还有其他列 ex-
{ headerName: 'Colour', field: 'colour',
cellStyle: {'background-color': 'cyan'}, editable: true,
cellEditor:'agSelectCellEditor', cellEditorParams: function(params) {
var selectedPart = params.data.type; if (selectedPart==='R&S') {
return { values: this.partTypeListRS }; } else if(selectedPart==='WiFi')
{ return { values: this.partTypeListWifi }; } else
if(selectedPart==='Other') { return { values: this.partTypeListOther };
}}},
}
我收到错误 cannot read 属性 this.partTypeListRS of undefined ,如果我单击满足 selectedPart==='R&S' 条件的行并分别为所有其他条件 .
您可以定义 cellEditorParams
函数,根据另一列的值 returns 不同的值。
这是来自 ag-grid 站点的示例 -
cellEditor : 'agSelectCellEditor';
cellEditorParams: function(params) {
var selectedCountry = params.data.country;
if (selectedCountry==='Ireland') {
return {
values: ['Dublin','Cork','Galway']
};
} else {
return {
values: ['New York','Los Angeles','Chicago','Houston']
};
}
}
从官方文档中查看此 example。
而不是 function(params)
,我使用了箭头函数 (params)=>
,然后我能够在 CellEditorParams
中访问它
我在列定义中使用以下代码:
{ headerName: 'Part', field: 'part',
cellStyle: {'background-color': 'cyan'}, editable: true,
cellEditor:'agSelectCellEditor', cellEditorParams:
我在网格中还有其他列 ex-
{ headerName: 'Colour', field: 'colour',
cellStyle: {'background-color': 'cyan'}, editable: true,
cellEditor:'agSelectCellEditor', cellEditorParams: function(params) {
var selectedPart = params.data.type; if (selectedPart==='R&S') {
return { values: this.partTypeListRS }; } else if(selectedPart==='WiFi')
{ return { values: this.partTypeListWifi }; } else
if(selectedPart==='Other') { return { values: this.partTypeListOther };
}}},
}
我收到错误 cannot read 属性 this.partTypeListRS of undefined ,如果我单击满足 selectedPart==='R&S' 条件的行并分别为所有其他条件 .
您可以定义 cellEditorParams
函数,根据另一列的值 returns 不同的值。
这是来自 ag-grid 站点的示例 -
cellEditor : 'agSelectCellEditor';
cellEditorParams: function(params) {
var selectedCountry = params.data.country;
if (selectedCountry==='Ireland') {
return {
values: ['Dublin','Cork','Galway']
};
} else {
return {
values: ['New York','Los Angeles','Chicago','Houston']
};
}
}
从官方文档中查看此 example。
而不是 function(params)
,我使用了箭头函数 (params)=>
,然后我能够在 CellEditorParams