gpt4 book ai didi

ag-grid - 如何动态添加行样式? - 银格

转载 作者:行者123 更新时间:2023-12-02 17:09:43 29 4
gpt4 key购买 nike

我想在 ag-grid 中动态更改一行的样式。我想要实现的是,如果用户编辑了我的 ag-grid 行,则更改该行的背景颜色。

cellValueChanged(event) {
//Add it only if the old value has changed
if (event.oldValue != event.newValue) {
// This will replace with latest edited value if it has been edited already
this.edittedRows[event.rowIndex.toString()] = event.data;
}
}

我通过监听 cellValueChanged 事件来跟踪编辑的行。我需要更改此处的行样式。

我查看了 ag-grid 文档并找到了如何添加行样式、行类和行类规则,但我找不到在用户更改某行时动态向行添加样式的方法。

最佳答案

通过使用 redrawRows 我能够实现这一点。
首先,我为我的网格选项添加了 rowClassRules,如下所示

private initGrid() {
this.gridOptions.rowClassRules = {
'modified' : this.isEditedRow()
};
}

private isEditedRow() {
return (params) => {
return params.data.edited;
}
}

modified 是我的 css 类,它具有编辑行的所有样式。
然后在我的行数据中添加一个新属性 edited。 并更改 cellValueChanged 如下,

cellValueChanged(event) {
//Add it only if the old value has changed
if (event.oldValue != event.newValue) {
// This will replace with latest edited value if it has been edited already

// Setting edited flag to change the background
event.data.edited = true;
this.edittedRows[event.rowIndex.toString()] = event.data;
let row = this.gridApi.getDisplayedRowAtIndex(event.rowIndex);
this.gridApi.redrawRows({ rowNodes: [row] });
}

}

查找 redrawRows 的文档 here .

关于ag-grid - 如何动态添加行样式? - 银格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49868738/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com