本节介绍datagrid组件中列模型columns的对象参数。
用HTML表头初始化为datagrid的,通过th的
data-options属性定义columns对象参数。凡是含有F标记的参数对于多表头均无效。
凡是含有D标记的参数对于HTML表头均无效。
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| name | string | null | [可选] F 该列字段名(关联json数据、xml数据、编辑及保存的数据)。未设置name将不能进行添加\编辑等操作 |
| label | string | null | [可选] D 显示的列标题。 |
| width | int | 50或HTML表格对应列的宽 | [可选] 列宽。 |
| align | string | left | [可选] 对齐方式(left、center、right)。 |
| type | string | string | [可选] F 数据类型(string、boolean、select、textarea、date、lookup、spinner)。 |
| align | string | left | [可选] 对齐方式(left、center、right)。 |
| add | boolean | true | [可选] F 允许该列添加数据。 |
| edit | boolean | true | [可选] F 允许该列编辑数据。 |
| attrs | object | null | [可选] F 编辑时,表单域的附加参数。示例:{readonly:'readonly'} |
| rule | string | null | [可选] F 编辑时,表单域名的验证规则。示例:required;length(6) |
| items | array/function | null | [可选] F 用于数据渲染或筛选\编辑时的select填充。array示例:[{'true':'男'}, {'false':'女'}],,function示例:function() {return $.getJSON('/datagrid/demo-items-state.js')} |
| render | function(value) | null | [可选] F 将列数据渲染成其他样式,方法参数value为datagrid数据提供的原始值。不显示空值示例:function(value){return !value || value == 'null' ? '' : value},datagrid提供基于items的默认渲染:$.datagrid.renderItem |
| pattern | string | null | [可选] F 配合type='date'使用,设置日期格式。示例:yyyy-MM-dd HH:mm |
| calc | string | null | [可选] F 列统计,可选(count、sum、avg、min、max)。 |
| calcTit | string | null | [可选] F 列统计说明,对应calc(总数、合计、平均、最小、最大)。 |
| calcDecimal | int | 2 | [可选] F 列统计数据保留小数点位数。 |
| hide | boolean | false | [可选] F 是否隐藏该列。 |
| menu | boolean | true | [可选] F 列上是否出现菜单按钮(对于多表头,仅对字段列有效)。 |
| lock | boolean | false | [可选] F 是否锁定该列(尽量不用,影响速度)。 |
| quicksort | boolean | true | [可选] F 允许点击该列进行快速排序。 |
[
{
name: 'operation',
label: '类型',
type : 'select',
items: [{'01':'神话'}, {'02':'传说'}, {'03':'漫画'}, {'04':'历史'}, {'05':'其他'}],
align: 'center',
width: 80,
render: $.datagrid.renderItem
},
{
name: 'name',
label: '姓名',
align: 'center',
width: 100,
rule: 'required'
},
{
name: 'sex',
label: '性别',
type: 'select',
items: [{'true':'男'}, {'false':'女'}],
align: 'center',
width: 40,
render: $.datagrid.renderItem
}
]
[
{
name: 'operation',
label: '类型',
type : 'select',
items: [{'01':'神话'}, {'02':'传说'}, {'03':'漫画'}, {'04':'历史'}, {'05':'其他'}],
align: 'center',
width: 80,
render: $.datagrid.renderItem
},
{
name: 'name',
label: '姓名',
align: 'center',
width: 100,
rule: 'required'
},
{
label: '拼音姓名',
columns: [{
name: 'firstname',
label: '拼音姓',
width: 80
},{
name: 'lastname',
label: '拼音名',
width: 80,
hide : true
}]
},
{
name: 'sex',
label: '性别',
type: 'select',
items: [{'true':'男'}, {'false':'女'}],
align: 'center',
width: 40,
render: $.datagrid.renderItem
}
]
<thead>
<tr>
<th data-options="{
name:'operation',
items: [{'01':'神话'}, {'02':'传说'}, {'03':'漫画'}, {'04':'历史'}, {'05':'其他'}],
render: $.datagrid.renderItem,
type:'select'}">类型</th>
<th data-options="{name:'name'}">姓名</th>
<th data-options="{name:'sex', items: [{'true':'男'}, {'false':'女'}],
render: $.datagrid.renderItem, type:'select'}">性别</th>
</tr>
</thead>
<thead>
<tr>
<th rowspan="2" data-options="{name:'operation',
items: [{'01':'神话'}, {'02':'传说'}, {'03':'漫画'}, {'04':'历史'}, {'05':'其他'}],
render: $.datagrid.renderItem, type:'select'}">类型</th>
<th rowspan="2" data-options="{name:'name'}">姓名</th>
<th colspan="2">拼音姓名</th>
<th rowspan="2" data-options="{name:'sex', items: [{'true':'男'}, {'false':'女'}],
render: $.datagrid.renderItem, type:'select'}">性别</th>
</tr>
<tr>
<th data-options="{name:'firstname'}">拼音姓</th>
<th data-options="{name:'lastname'}">拼音名</th>
</tr>
</thead>