Grid - ChinaSS/Util GitHub Wiki

功能说明

Grid为数据列表组件,遵循AMD标准,依赖boostrap,jquery, 主要功能如下:

  1. 自定义工具栏
  2. 前/后端排序
  3. 表格数据分页
  4. 表格根据新参数重新加载,当页刷新
  5. 列可拖动, 动态调整列宽
  6. 表格行事件绑定

用法

require(["PDUtilDir/grid"], function(Grid){
  Grid(config);
})

可通过Grid.getGrid(id)取得实例化的grid对象 所有带下划线的属性或方法建议都不要使用 详细请见Demo样例

表格config对象

名称 类型 默认值 说明
id string 存放表格面板id,表格缓存id,通过getGrid获取表格时使用,需保证唯一
pageSize number 10 规定表格(每页,若设置分页)显示的数据条数
title string 数据列表 表格标题
index boolean false 是否显示行数
hidden boolean false 表格初始化时显示或隐藏状态;若不设置该字段, 则表格默认显示;若设置该字段为true/false, 则初始化时会增加控制显示/隐藏的按钮
multi boolean null true/多选,false/单选
draggable boolean false 表格数据列是否可拖动
pagination boolean true 设置表格是否分页
toolbar array null 表格操作栏对象,详见后续说明
layout array null 表格列定义对象,详见后续说明
data array/object null 表格数据对象,详见后续说明
trEvent object null 设置表格行事件,详见后续说明
queryParam object null json键值对,表格查询时需要传递到后端的查询参数

toolbar

数组,数组项为json对象

名称 类型 默认值 说明
id string 可选,按钮id
name string 必选,按钮名称
icon string 可选,按钮图标,从图标库中选择即可
callback function 必选,点击按钮后的回调函数

layout

数组,数组项为json对象

名称 类型 默认值 说明
name string 必选,列标题
field string 必选,字段名
width string 可选,列宽度(ps:最小像素宽度30px)
align string 可选,列文字对齐方向(left/center/right)
sort boolean 可选,列数据是否可排序(静态数据自动前端排序,动态数据需后端支持)
click function 可选,列数据可点击,点击后的回调函数
format function 可选,列数据格式化函数, 传入行数据, 返回处理后的字符串

data

  1. 为数组时,数组元素为json对象,加载静态数据
  2. 为对象时,其格式为:data:{type:"URL",value:"url"},加载动态数据

trEvent

数组,设置行事件

名称 类型 默认值 说明
type string 必选,标准事件类型
callback function 必选,触发事件的回调函数

queryParam

Json对象,表格查询时,可以设置该属性的值,自动会发送到后端,可从iReq中获取Key

方法

通过实例化的Grid对象调用,即:grid.getSelectedRow()

名称 参数 返回值 说明
getGridPanel jquery DOM 得到表格DOM对象
appendRow json行数据对象 向当前页增加一行
deleteRow index 删除指定index的行
updateRow json:{index:2,row:{}} 更新指定行
getChanges type array type参数表明修改的类型,可选值:inserted,deleted,updated,没有传递type参数时,返回所有被修改的行.
getSelectedRow array 获取当前Grid所有选中数据
getSelectedRowIndex array 获取当前Grid所有选中数据的index
getCurPageData array 得到当前页的数据
clearSelectedRow 清空选中的行
refresh 刷新表格当前页的数据
reload config对象 重新加载表格,如果config对象中有id属性不生效

事件

在config对象中配置

名称 参数 说明
onSelectAll boolean,全选/全不选 点击全选和选不选复选框时调用
onSeletedChanged rows,当前选中的数据 选中数据变更时自动调用
onBeforeRenderRow row,行数据 this为grid对象,可对row做处理再return row,若增加row["_checked"]=true,则选中单选或多选框
onAfterRenderRow rows,行数据 this为$tr对象
onAfterRenderTableBody this为grid对象,只要重新渲染表格内容就会触发(翻页、切换每页显示条数、点击列排序)