如何在ag-grid单元格编辑器中显示动态值选择

时间:2017-04-18 12:28:35

标签: html5 angular typescript ag-grid

我想为每一行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。

有人对此有任何想法吗?

1 个答案:

答案 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...]
    }
}
任何时候编辑开始时都会调用

agInitparams有一个复杂的对象,(我建议console.log()只是为了查看你可以使用的所有东西)但基本上节点是指单元格所在的行,而数据是该行的数据,并通过您的colDefs判断,您可以从financeCurrency获得Department的值。