ag-gridd的增加、删除、修改行主要通过api.updateRowData和rowNode.setData进行。
ag-grid更新数据有两种方法,api.updateRowData和rowNode.setData
//第一种方法,通过setData更新,首先获取需要更新的节点
var rowNode = gridOptions.api.getRowNode(2);//获取表格第3行数据
//更新数据
var newRow= {
id: '66',
name: 'it小书童',
url: 'itxst.com',
catalog: Math.floor(Math.random()*100000)
};
rowNode.setData(newRow);
//第二种方法,通过updateRowData更新
var selRows = gridOptions.api.getSelectedRows(); //获取选中的行
selRows[0].name='11111'; //更新选中数据的第一行
gridOptions.api.updateRowData({update: selRows});
//第一种方法,通过api.setRowData删除
gridOptions.rowData.splice(0, 1);//删除第一行数据
gridOptions.api.setRowData(gridOptions.rowData);
//第二种方法删除选中行
var selRows = gridOptions.api.getSelectedRows(); //获取选中的行
gridOptions.api.updateRowData({remove: selRows});
//第一种方法,通过api.setRowData新增行
var newRow= {
id: '12',
name: 'it小书童',
url: 'itxst.com',
catalog: Math.floor(Math.random()*100000)
};
gridOptions.rowData.push(newRow)
gridOptions.api.setRowData(gridOptions.rowData);
//第二种方法新增行
var newRows= [{
id: '15',
name: 'it小书童',
url: 'itxst.com',
catalog: Math.floor(Math.random()*100000)
}];
gridOptions.api.updateRowData({add: newRows});
//第三种方法新增到第二行
var newRows= [{
id: '15',
name: 'it小书童',
url: 'itxst.com',
catalog: Math.floor(Math.random()*100000)
}];
gridOptions.api.updateRowData({add: newRows,addIndex:1});