我将网格放在Angular 2组件中。在网格组件构造函数中,我调用两个返回columnDefinition和rowData的函数,这些返回值放在变量中。然后我使用变量设置gridOptions:
findByReservationDateGreaterThanEqualAndExpirationDateLessThanEqual(Date date)
我的网格上方有一个按钮,它调用一个函数来计算新的rowData和相应的columnDefinition。我使用新的rowData和columnDefinition设置我的变量,然后按如下方式更新网格:
this.gridOptions.columnDefs = this.columnDefinitions;
this.gridOptions.rowData = this.rowData;
但是,我的网格会保留一些原始列并添加新列。我的第一张图片显示了应用程序加载时的网格:
这是替换rowData和columnDefinition之后的网格:
这是完整的GridComponent类代码:
// Set the column definition.
this.columnDefinitions = this.gridService.getAllGroupColumnDefinitionsByHour(this.startDate, this.finishDate);
// Set the row data.
this.rowData = this.taskDataService.getTaskGridDataByHour(this.startDate, this.finishDate);
this.gridOptions.api.setRowData(this.rowData);
this.gridOptions.api.setColumnDefs(this.columnDefinitions);
this.gridOptions.api.refreshView();
有人可以提供任何指导来防止这种情况吗?