easyui datagrid 得到所有列属性
时间: 2023-08-30 10:04:03 浏览: 236
可以使用 easyui 中 datagrid 的 `getColumnFields()` 方法获取所有列的字段名,然后再通过 `getColumnOption(field)` 方法获取该列的所有属性。示例代码如下:
```javascript
var fields = $('#datagrid').datagrid('getColumnFields');
for (var i = 0; i < fields.length; i++) {
var options = $('#datagrid').datagrid('getColumnOption', fields[i]);
console.log(options); // 输出该列的所有属性
}
```
相关问题
easyui datagrid动态隐藏列
可以使用easyui datagrid的columnFormatter属性来实现动态隐藏列。首先,在datagrid的初始化代码中,定义一个全局变量用于存储要隐藏的列的field值:
```javascript
var hiddenCols = ['col1', 'col2']; // 要隐藏的列的field值
```
然后,在datagrid的columns属性中,为需要隐藏的列添加一个formatter函数,该函数返回一个空字符串,使该列不显示:
```javascript
columns: [
{ field: 'col1', title: '列1', formatter: function(value,row,index){
if(hiddenCols.indexOf('col1') > -1){
return '';
} else {
return value;
}
}
},
{ field: 'col2', title: '列2', formatter: function(value,row,index){
if(hiddenCols.indexOf('col2') > -1){
return '';
} else {
return value;
}
}
},
// 其他列...
],
```
最后,在需要隐藏或显示列的时候,修改全局变量hiddenCols并调用datagrid的reload方法即可:
```javascript
// 隐藏列
hiddenCols.push('col1');
$('#datagrid').datagrid('reload');
// 显示列
hiddenCols.splice(hiddenCols.indexOf('col1'), 1);
$('#datagrid').datagrid('reload');
```
easyui datagrid列展示附件
在 EasyUI 的 DataGrid 中展示附件,可以使用 formatter 属性来自定义列的展示方式。
具体步骤如下:
1. 定义 DataGrid 的列,并指定列的 formatter 属性为一个函数。
2. 在 formatter 函数中,动态生成 HTML 代码来展示附件,例如使用 `<img>` 标签展示图片、`<a>` 标签展示文本链接等等。
以下是一个简单的示例代码:
```javascript
$('#dg').datagrid({
columns:[[
{field:'Name', title:'Name', width:100},
{field:'Attachment', title:'Attachment', width:100, formatter:function(value,row,index){
return '<a href="' + row.AttachmentPath + '">' + row.AttachmentName + '</a>';
}}
]]
});
```
在这个示例中,我们自定义了一个名为 "Attachment" 的列,使用 formatter 函数来展示附件。formatter 函数的参数包括 value(当前单元格的值)、row(当前行的数据对象)和 index(当前行的索引)。我们使用 `<a>` 标签来展示附件名称,并设置链接地址为附件路径(row.AttachmentPath)。在实际使用中,你可以根据实际需求来动态生成 HTML 代码,例如使用 `<img>` 标签展示图片等等。
这只是一个简单的示例,具体的实现方式会根据实际需求而有所不同。