【发布时间】:2018-05-10 09:47:59
【问题描述】:
单击“插入新行”按钮后,将触发以下方法,并将一个空的新行附加到当前最后一行。
insertNewRow(){
var newItem = this.createNewRowData();
var res = this.gridOptions.api.updateRowData({add: [newItem]});
}
createNewRowData(){
var newData = [];
//blah blah
return newData;
}
在我丰富了屏幕上的数据后,如何让网格获取新行(可能还有自上次数据库检索以来已更改的所有行)?
请注意,在我点击保存按钮之前,我可以多次点击“插入新行”来创建多行。
saveChanges(){
var data = "HOW TO GET NEW ROWS AND UPDATED ROWS, AND STORE HERE??";
this.myAppService.saveData(data).subscribe(
//blah blah
);
console.log("Saved successfully to database");
}
编辑 1
尝试将以前的记录存储到变量(“tableData”)中:
tableData: string[] = [];
currentData: string[] = [];
retrieveTableData (){
//blah blah
tableData loaded with an array of json
}
saveChanges(){
this.gridOptions.api.forEachNode((rowNode) => {
this.currentData.push(rowNode.data);
});
console.log(this.currentData);
this.currentData.forEach(item => {
console.log(item);
if (!this.tableData.includes(item)){
console.log("Updated Row: " + item);
}
});
}
我猜数据类型等存在一些问题。
控制台记录“tableData”和“currentData”的示例:
[object Object],[object Object],[object Object]
如果我打印出任一变量下的每个项目:
{FUND_CODE: "TEST1", PORT_CODE: "TEST1"}
【问题讨论】:
-
查看答案,如果您需要帮助,请告诉我
标签: angular typescript ag-grid