Ag-grid isRowSelectable 条件不激活
Posted
技术标签:
【中文标题】Ag-grid isRowSelectable 条件不激活【英文标题】:Ag-grid isRowSelectable conditional not activating 【发布时间】: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 代码似乎没有被命中。
任何建议将不胜感激。
干杯,
-约翰
【问题讨论】:
【参考方案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
【讨论】:
试一试,不幸的是,复选框仍然没有重新出现。所有行数据都按预期更新,只是似乎没有按条件点击该复选框。以上是关于Ag-grid isRowSelectable 条件不激活的主要内容,如果未能解决你的问题,请参考以下文章