分页列表
分页列表可用于实现表格形式、多页方式的数据列表展现,分页列表由 数据表格 和 分页栏 组成。
数据表格使用 <table>
标签进行定义,必须设置 name
和 class
属性。 class
属性值固定为 table
分页栏使用后台标签 <zrar:pager>
进行定义, rel
属性必须与数据表格name
属性值保持一致, action
属性设置为分页查询地址
示例
普通分页列表
<!-- 数据表格 -->
<table name="demoGrid" class="table">
<thead>
<th id="userid" show="false"></th>
<th id="userName">用户名</th>
<th id="age">年龄</th>
</thead>
</table>
<!-- 分页栏 -->
<zrar:pager action="${ctx}/demo/grid/normal" rel="demoGrid" />
高度自适应分页列表
<!-- 数据表格 -->
<table name="demoGrid" class="table" layoutH="0" >
<thead>
<th id="userid" show="false"></th>
<th id="userName">用户名</th>
<th id="age">年龄</th>
</thead>
</table>
<!-- 分页栏 -->
<zrar:pager action="${ctx}/demo/grid/layoutH" rel="demoGrid" />
分页列表(含按钮组)
<!-- 数据表格 -->
<table name="demoGrid" class="table" layoutH>
<thead>
<th id="userid" show="false"></th>
<th id="userName">用户名</th>
<th id="age">年龄</th>
<th id="_manager_" var="userid,userName"
edit="[{action:'${ctx}/demo/grid/item/edit',target:'dialog',text:'编辑',rel:'user_edit'}]"
view="[{action:'${ctx}/demo/grid/item/edit',target:'dialog',text:'详情',rel:'user_detail',size:{width:400,height:180}}]"
delete="[{action:'${ctx}/demo/grid/item/delete',callback:'grid_demo.deleteCallback',text:'删除',title:'确认删除该记录吗?'}]"
button="[{clicked:'grid_demo.itemClick',text:'自定义按钮'}]"
>操作</th>
</thead>
</table>
<!-- 分页栏 -->
<zrar:pager action="${ctx}/demo/grid/normal" rel="demoGrid" />
属性
<table>
属性 | 说明 |
---|---|
class | 组件必备属性,固定值 table |
name | 分页列表名称,该属性用于配合后台IZrarResponse 接口 addGrid(分页列表名称,分页对象) 方法使用 |
layoutH | 高度自适应属性,存在该属性则会进行高度自适应(自动计算当前容器高度并减去工具栏和查询表单所占用的高度,剩余高度作为分页列表高度),该计算过程忽略layoutH所设置的值 |
layoutTo | auto [ 默认值 ] : 自动计算 assign : 指定分页列表外内容所占用高度(即 layoutH 所设置的值),剩余高度作为分页列表高度 |
ontdclick | 单元格点击事件 |
ontddbclick | 单元格双击事件,双击事件同时也会触发单击事件 |
oncheckchange | 复选单元格点击事件 |
ongridready | 列表加载完成事件(数据初始化完成) |
onGroupHeadCreate | 分组头创建回调事件 |
afterCreateRow | 列表行加载回调事件,在每一行初始化完成后执行 |
groupBy | 列表数据分组,组件将会根据该依据对数据进行自动分组 |
groupDefaultHidden | 分组子记录是否默认隐藏 |
checkedValue | 默认选中记录,以逗号分隔拼接需要默认选中记录的<th> 特殊字段radio 或checkbox 中group属性字段的值 |
注:关于layoutH、layoutTo属性的详细说明可查询 高度自适应组件 说明。
<th>
属性 | 说明 | 示例 |
---|---|---|
id | 字段名称,所需展现数据对象的属性名称。 | <th id="userName">用户名</th> 特殊字段名称: 1. radio : 单选按钮、checkbox 复选框、button 单一按钮, _manager_ :按钮组,按钮组详细属性介绍请参见按钮组属性 |
show | 是否显示该字段, [ 默认值 ] true / false |
<th id="userid" show="false"></th> |
group | 组字段名称。配合单选按钮、复选框列使用,配置指定字段值作为单选按钮或复选框所代表的值 | <th id="radio" group="gnjsDm"></th> |
orderField | 排序列,值必须设置为数据库中对应的字段 | <th id="gnjsMc" orderField="gnjs_mc">角色名称</th> |
cn | 转义列,将指定属性值转义为具体文本值。 | {isAdmin:{1:'管理员','else':'普通人员'}} ,isAdmin 为字段名称,值为1 时该列显示为管理员 ,其他值则显示普通人员 。 |
color | 文本颜色定义,根据属性值设置记录列文本颜色。 | {isAdmin:{1:'red',2:'blue'}} ,isAdmin 为字段名称,值为1 时文本为红色,值为2 时文本为蓝色 |
width | 列宽度定义,可设置固定值或百分比。 | <th id="gnjsDm" width="20%">角色代码</th> |
var | 变量定义,配合按钮或按钮组使用,所定义的变量列将会作为参数传递至服务端方法。支持多参数定义,以逗号分隔参数名即可。 | <th id="_manager_" var="userid,userName"> |
按钮组
属性 | 说明 | 示例 |
---|---|---|
edit | 编辑操作类型的按钮 | edit="[{action:'${ctx}/demo/grid/item/edit', target:'dialog',text:'编辑',rel:'user_edit'}]" |
view | 查看操作类型的按钮 | view="[{action:'${ctx}/demo/grid/item/edit', target:'dialog',text:'详情',rel:'user_detail',size:{width:400,height:180}}]" |
delete | 删除操作类型的按钮 | delete="[{action:'${ctx}/demo/grid/item/delete', callback:'grid_demo.deleteCallback', text:'删除',title:'确认删除该记录吗?'}]" |
button | 自定义操作类型的按钮 | button="[{clicked:'grid_demo.itemClick', text:'自定义按钮'}]" |
上述属性的属性值支持单个JSON格式对象或JSON对象数组。
按钮组JSON对象属性
属性 | 说明 |
---|---|
action | 提交地址 |
target | 提交方式dialog :内窗口(默认)navTab :选项卡window :新窗口 ajaxTodo :异步提交 |
text | 按钮文字 |
rel | 所打开对象(内窗口或选项卡)的ID |
size | 打开方式为dialog 时,控制窗口大小。为json对象,有width 、height 属性,分别指定窗体宽和高 |
callback | 回调函数 |
title | 提示语,在删除操作类型按钮组中会作为确认弹出窗的提示语 |
clicked | 按钮点击触发函数 |
<zrar:pager>
属性 | 说明 | 示例 |
---|---|---|
action | 分页数据加载地址 | <zrar:pager action="${ctx}/demo/grid/normal" rel="demoGrid" /> ,${ctx} 为项目contextPath值 |
rel | 数据表格名称 | 对应数据表格<table> 的 name 属性值 |
tree | 树对象ID | 当分页条件包含当前页面中树组件节点时,必须配置该属性。所选中的树节点信息将会包含在分页数据加载请求中。 |
方法
Grid对象
方法名 | 参数 | 说明 | 示例 |
---|---|---|---|
getGrid | girdName: 分页列表名称 container:查找范围(默认在当前tab页中查找) |
获取分页列表对象 | getGrid('demoGrid') ,getGrid('demoGrid',getDialog()) |
Grid对象方法
方法名 | 参数 | 说明 | 示例 |
---|---|---|---|
getCheckedData | 无 | 获取分页列表选中的行数据 | var dataArr = getGrid('name').grid('getCheckedData'); |
getCheckedOriginData | 无 | 获取分页列表选中的行数据(原始数据) | var dataArr = getGrid(container).grid('getCheckedOriginData'); |