ag-grid setColumnDefs新增一列或者重新设置所有的列。
//重新设置列
columnDefs.push({ headerName: '地址', field: 'dz' });
gridOptions.api.setColumnDefs(columnDefs);
//调整表格大小自适应
gridOptions.api.sizeColumnsToFit();
//定义列
var columnDefs = [
{ headerName: '姓名', field: 'name' },
{ headerName: '性别', field: 'sex' },
{ headerName: '年龄', field: 'age' },
];
//对应的数据
var data = [
{ name: 'itxst.com', sex: '男', age: '100', 'jg': '中国', 'sf': '浙江', 'dz': '杭州市古墩路1号' },
{ name: '李四', sex: '女', age: '15', 'jg': '中国', 'sf': '江苏', 'dz': '苏州市寒山寺' },
{ name: '张三', sex: '男', age: '22', 'jg': '中国', 'sf': '山东', 'dz': '青岛市' },
{ name: '张三', sex: '女', age: '16', 'jg': '中国', 'sf': '浙江', 'dz': '杭州市古墩路111号' },
{ name: '张三', sex: '女', age: '32', 'jg': '中国', 'sf': '浙江', 'dz': '杭州市古墩路12号' },
{ name: '张三', sex: '男', age: '37', 'jg': '中国', 'sf': '浙江', 'dz': '杭州市古墩路12号' },
{ name: 'bill', sex: '男', age: '31', 'jg': '中国', 'sf': '浙江', 'dz': '杭州市古墩路12号' }
];
//ag-grid设置
var gridOptions = {
columnDefs: columnDefs,
rowData: data,
onGridReady: function () {
//创建完成执行的事件
gridOptions.api.sizeColumnsToFit();
},
defaultColDef: {
enablePivot: true,
enableValue: true,
sortable: true, //开启排序
resizable: true,//是否可以调整列大小,就是拖动改变列大小
filter: true //开启刷选
},
pagination: true, //开启分页(前端分页)
paginationAutoPageSize: true, //根据网页高度自动分页(前端分页)
};
//初始化agGrid
document.addEventListener("DOMContentLoaded", function () {
var eGridDiv = document.querySelector('#myGrid');
new agGrid.Grid(eGridDiv, gridOptions);
});
//新增地址列
function add() {
columnDefs.push({ headerName: '地址', field: 'dz' });
gridOptions.api.setColumnDefs(columnDefs);
//调整表格大小自适应
gridOptions.api.sizeColumnsToFit();
}