我想为每一行ag-grid显示动态下拉选项。
假设对于每一行,部门可能不同,并且基于我计划过滤主题列表(用户可在下拉列表中选择的可用选项)
这是我的代码:
this.gridOptions.columnDefs = {
headerName: 'Department',
field: 'financingCurrency',
editable: false,
suppressSorting: false,
cellClass: 'grid-align'
},
{
headerName: 'Subject',
field: 'subject',
editable: true,
cellEditor: 'select',
filter: 'text',
cellEditorParams: {
values: this.subjects;
},
suppressSorting: false,
cellClass: 'grid-align'
}
}
我正在使用Angular 2的免费版ag-grid。
有人对此有任何想法吗?
答案 0 :(得分:1)
如果我理解正确,您希望能够根据选择的部门在cellEditor中使用不同的值。如果这是正确的,那么您可能需要做一些更复杂的处理cellEditors的事情。这是我做的plnkr,检查名称是否以J开头,如果是,那么它允许第三个选项。
请参阅plnkr获取完整示例,以及docs,以确保在正确的位置导入/导出所有内容。除了文档之外,这对您来说至关重要:
agInit(params: any): void {
if (params.node.data.financingCurrency == 'Your Super Department') {
subjects = [...super options...]
} else {
subjects = [...different options...]
}
}
任何时候编辑开始时都会调用 agInit
。 params
有一个复杂的对象,(我建议console.log()
只是为了查看你可以使用的所有东西)但基本上节点是指单元格所在的行,而数据是该行的数据,并通过您的colDefs判断,您可以从financeCurrency获得Department的值。