【问题标题】:Ag-grid isRowSelectable conditional not activatingAg-grid isRowSelectable 条件不激活
【发布时间】:2021-11-08 22:40:22
【问题描述】:

我们有一个通过内置复选框功能选择行的 Ag-Grid 表格。复选框通过 isRowSelectable 选项有条件地显示:

 isRowSelectable: function (rowNode) {
        return rowNode.data ? rowNode.data.published === false : true;
      }

已发布的列正在作为从另一列调用的模式的一部分进行更新。关闭模式时正在调用 redrawRows:

modal.result.then(() => {
            const row = params.api.getDisplayedRowAtIndex(params.rowIndex as number);
            //this.gridApi?.redrawRows([row] as any);
            this.gridApi?.redrawRows();
          });

当模态框关闭时,行中的显示值正在更新,但是,当发布的值设置为 false 时,复选框不会出现。如果我在开发工具中挂断点,isRowSelectable 代码似乎没有被命中。

任何建议将不胜感激。

干杯,

-约翰

【问题讨论】:

    标签: angularjs ag-grid


    【解决方案1】:

    你可以试试这个,看看它是否有效?

    let itemsToUpdate = [];
    
    let data = rowNode.data;
    // modify data fields
    // Ex: data.field1 = "new value";
    
    itemsToUpdate.push(data);
    
    this.gridApi.applyTransaction({update: itemsToUpdate});
    

    https://www.ag-grid.com/javascript-data-grid/data-update-transactions/

    【讨论】:

    • 嗨 Sharath,实际上,Shaune 和我确实尝试利用 applyTransaction({update}) 函数来解决此问题,但它不起作用。干杯,-约翰
    【解决方案2】:

    使用refreshCells

    this.gridApi?.refreshCells({force:true});
    

    https://www.ag-grid.com/react-data-grid/view-refresh/#redraw-rows

    【讨论】:

    • 试一试,不幸的是,复选框仍然没有重新出现。所有行数据都按预期更新,只是似乎没有按条件点击该复选框。
    猜你喜欢
    • 2021-04-24
    • 1970-01-01
    • 2022-01-19
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2018-09-30
    • 2022-08-04
    相关资源
    最近更新 更多