easyui的datagrid通过按钮动态添加列
时间: 2023-08-30 19:04:08 浏览: 706
可以通过easyui的datagrid的columnFields和columns属性来实现动态添加列。
首先在datagrid的初始化代码中,需要定义一个空的columnFields数组和一个空的columns数组。例如:
```
$('#dg').datagrid({
url:'get_data.php',
columnFields:[],
columns:[]
});
```
然后可以通过一个按钮来触发添加列的操作,例如:
```
$('#addColBtn').click(function(){
var colField = 'newCol'; // 新列的field
var colTitle = 'New Column'; // 新列的标题
var newColumns = [{
field: colField,
title: colTitle,
width: 100,
align: 'center'
}]; // 新列对应的columns对象
// 更新columnFields和columns数组
$('#dg').datagrid('options').columnFields.push(colField);
$('#dg').datagrid('options').columns[0].push(newColumns[0]);
// 重新加载datagrid
$('#dg').datagrid('reload');
});
```
在上面的代码中,首先定义了一个新的列对象newColumns,包含了新列的field、title、width和align等属性。然后通过datagrid的options属性获取到当前的columnFields和columns数组,将新列的field添加到columnFields数组中,将新列的columns对象添加到第一个columns数组中。最后使用datagrid的reload方法重新加载datagrid,即可看到新增的列已经在datagrid中显示出来了。
需要注意的是,如果要删除列,则需要将对应的field从columnFields数组中删除,并将对应的columns对象从columns数组中删除。然后重新加载datagrid即可。
阅读全文