ag-grid:根据同一行其他单元格中的内容禁用单元格

Mar*_*nov 4 ag-grid angular

我正在寻找有关我将使用 ag-grid 实现的功能的帮助。 是一个plunker。

我有一个包含 X 项和 3 列的表格。在第一列中,我有一些只读文本,在第二列和第三列中我有自定义cellEditor(单击时会显示下拉菜单)。

目标:我希望默认情况下禁用第三列中的单元格(单击时,不显示下拉列表)并且仅当第二列上的单元格相同时才显示下拉列表(在第三列中的单元格中)行有值(从下拉列表中选择一个项目)。

enter code here (must have code in order to put plunker links :/)
Run Code Online (Sandbox Code Playgroud)

示例:在第一行:第 1 列有值(默认情况下),用户从第 2 列的下拉列表中选择一个项目。然后他才能从第三列的下拉列表中选择一个项目。用户无法从其他行的第三列中选择项目,因为他们的第二列是空的。

un.*_*ike 9

您可以editable动态处理模式

headerName: 'C',
field: 'c',
cellEditor: 'searchEditor',
editable: (params:IsColumnFuncParams)=>{ return params.data.b },
cellEditorParams: {
    values: this.c
}
Run Code Online (Sandbox Code Playgroud)

如果此列可编辑,则设置为 true,否则为 false。也可以是具有可编辑不同行的函数。

editable?: boolean | IsColumnFunc;
Run Code Online (Sandbox Code Playgroud)

ag-grid-community\src\ts\entities\colDef.ts

export interface IsColumnFuncParams {
    node: RowNode;
    data: any;
    column: Column;
    colDef: ColDef;
    context: any;
    api: GridApi;
    columnApi: ColumnApi;
}
Run Code Online (Sandbox Code Playgroud)