refreshCells 在 Ag-Grid 中不工作 - Angular 2
refreshCells Not working in Ag-Grid - Angular 2
我有一个 Angular 2 项目 (2.0.0-RC.4) 和 运行 ag-grid (5.0.1)。
我正在尝试使用 refreshCells() 方法刷新网格中的特定单元格,而不重置行。
我在 Ag-Grid 文档中看到了一个示例,它展示了如何使用 refreshCells()
https://www.ag-grid.com/javascript-grid-refresh/
我试图创建一个预期能满足我需要的副本,但它不起作用。
网格拒绝刷新单元格。
ChangeValue() {
var updatedNodes = [];
this.gridOptions.api.forEachNode((rowNode: RowNode) => {
let data = rowNode;
if(data.data.timestamp == "t") {
data.data.asset *= 2;
updatedNodes.push(rowNode);
}
});
console.log(updatedNodes);
this.gridOptions.api.refreshRows(updatedNodes);
this.gridOptions.api.refreshView();
}
我上面显示的方法链接到一个按钮,所以一旦我点击按钮它应该增加与时间戳匹配的 rowNode 内的资产 "t"。
有关更多详细信息,下面的钩子和构造函数用于将数据样本添加到网格并创建 columnDef。
ngAfterViewChecked() {
let dataSample: any[] = [
{
timestamp: "t",
asset: 100
}
]
this.gridOptions.api.setRowData(dataSample);
// Hide ag-grid overlay
this.gridOptions.api.hideOverlay();
}
constructor() {
this.columnDefs = [
{
headerName: 'Timestamp',
field: 'timestamp'
}, {
headerName: 'Asset',
field: 'asset'
}
]
}
问题是一旦我点击按钮,ChangeValue() 方法运行但由于某种原因没有更新单元格值。
在 Ag-Grid 团队的帮助下,我找到了导致此问题的原因。
我要感谢他们。
refreshRows()
导致重绘以触发器结束的视图 ngAfterViewChecked()
这将重置网格中的数据。
所以代码 运行 变成了圆圈。
我有一个 Angular 2 项目 (2.0.0-RC.4) 和 运行 ag-grid (5.0.1)。
我正在尝试使用 refreshCells() 方法刷新网格中的特定单元格,而不重置行。
我在 Ag-Grid 文档中看到了一个示例,它展示了如何使用 refreshCells()
https://www.ag-grid.com/javascript-grid-refresh/
我试图创建一个预期能满足我需要的副本,但它不起作用。
网格拒绝刷新单元格。
ChangeValue() {
var updatedNodes = [];
this.gridOptions.api.forEachNode((rowNode: RowNode) => {
let data = rowNode;
if(data.data.timestamp == "t") {
data.data.asset *= 2;
updatedNodes.push(rowNode);
}
});
console.log(updatedNodes);
this.gridOptions.api.refreshRows(updatedNodes);
this.gridOptions.api.refreshView();
}
我上面显示的方法链接到一个按钮,所以一旦我点击按钮它应该增加与时间戳匹配的 rowNode 内的资产 "t"。
有关更多详细信息,下面的钩子和构造函数用于将数据样本添加到网格并创建 columnDef。
ngAfterViewChecked() {
let dataSample: any[] = [
{
timestamp: "t",
asset: 100
}
]
this.gridOptions.api.setRowData(dataSample);
// Hide ag-grid overlay
this.gridOptions.api.hideOverlay();
}
constructor() {
this.columnDefs = [
{
headerName: 'Timestamp',
field: 'timestamp'
}, {
headerName: 'Asset',
field: 'asset'
}
]
}
问题是一旦我点击按钮,ChangeValue() 方法运行但由于某种原因没有更新单元格值。
在 Ag-Grid 团队的帮助下,我找到了导致此问题的原因。
我要感谢他们。
refreshRows()
导致重绘以触发器结束的视图 ngAfterViewChecked()
这将重置网格中的数据。
所以代码 运行 变成了圆圈。