属性
设置
通过设置 data-options
或者 data-[param]
为表格或列设置属性。
data-options="hasOrder:false;hasCheckBox:true;paging:true;fieldDrag:true;defaultPage:1"
or
data-width="500" data-has-order="false"
data-[param]
可以写在data-options
里面,因此可以不用设置data-[param]
- 一旦设置了
data-[param]
,那么data-[param]
的值将会取代data-options
中对应的属性值
默认属性:
Datagrid.DEFAULTS = {
/**
* 定义:表格标题
* 类型: string
**/
title: null,
/**
* 定义:表格宽度
* 类型: string/number
**/
width: '100%',
/**
* 定义:表格高度
* 类型: string/number
**/
height: 'auto',
/**
* 定义:表格最大高度
* 类型: number/null
**/
maxHeight: null,
/**
* 定义:表格额外css样式
* 类型:string
* 说明:这个class最终会添加到生成的table的class中,可以通过这个属性改变表格的样式而不用修改源文件的样式
*/
extraClass: '',
/**
* 定义:表格最小数据行数
* 类型:number
*/
minTrNums: 10,
/**
* 定义:最小的列宽
* 类型:number
*/
minFieldWidth: 70,
/**
* 定义:是否固定表头
* 类型:boolean
*/
fixedThead: true,
/**
* 定义:固定对象
* 类型:'body'/'container'
* 说明:如果为'body',那么固定表头和固定的分页、滚动条会相对于文档固定。如果是'container',那就是相对于表格固定。
*/
fixedTarget: 'body',
/**
* 定义:是否固定分页
* 类型:boolean
*/
fixedPaging: true,
/**
* 定义:是否固定滚动条
* 类型:boolean
*/
fixedScrollbar: true,
/**
* 定义:是否自动更新行高(有列指定newline为true时强制为true)
* 类型:boolean
* 说明:如果所有列都不换行,那么每一行的高度是一致的,就不需要自动同步固定列和主列的行高,节省性能消耗
*/
autoUpdateTrHeight: false,
/**
* 定义:是否操作显示/隐藏列
* 类型:boolean
*/
editField: true,
/**
* 定义:排序列title
* 类型:string
*/
orderTitle: '序号',
/**
* 定义:是否左边固定排序列
* 类型:boolean
*/
fixedOrderField: true,
/**
* 定义:是否需要checkbox
* 类型:boolean
*/
hasCheckBox: false,
/**
* 定义:是否单选,默认复选
* 类型:boolean
*/
onlyCheckOne: false,
/**
* 定义:是否左边固定checkbox列
* 类型:boolean
*/
fixedCheckBoxField: true,
/**
* 定义:是否允许列宽度拖动
* 类型:boolean
*/
fieldDrag: false,
/**
* 定义:每次渲染的行显示动画
* 类型:string/null
* 说明:例如设置为'bounceInLeft',那么每一行就会以这个动画效果逐行显示出来。动画效果取值animate.css。
*
*/
trAnimation: null,
/**
* 定义:是否需要列排序
* 类型:boolean
*/
fieldOrder: true,
/**
* 定义:是否需要表格分页
* 类型:boolean
*/
paging: false,
/**
* 定义:默认加载第几页
* 类型:number
*/
defaultPage: 1,
/**
* 定义:表格数据源
* 类型:string/null
*/
source: null,
/**
* 定义:是否自动加载数据源
* 类型:boolean
*/
autoLoadSource: true,
/**
* 定义:数据源请求方法
* 类型:string
*/
requestMethod: 'GET',
/**
* 定义:数据源请求类型
* 类型:string
*/
contentType: 'application/json;charset=UTF-8',
/**
* 定义:数据源请求参数是否为json字符串
* 类型:boolean
*/
isJsonString: false,
/**
* 定义:数据请求体的额外参数
* 类型:object
* 说明:这个参数会extend到最终的请求体参数中
*/
queryData: {},
/**
* 定义:请求数据的映射
* 类型:object
* 说明:由于不同接口返回数据结构的不同,需要通过这个配置来匹配接口中的数据
*/
sourceDataMap: {
/**
* 定义:非分页数据字段名
* 类型:string
*/
data: '',
/**
* 定义:分页数据字段名
* 类型:string
* 说明:比如'pagedResult.data'代表分页数据列表来自请求结果中的pagedResult对象里面的data属性
*/
dataFormPage: 'pagedResult.data',
/**
* 定义:分页信息
* 类型:object
*/
pagedResult: {
next: 'pagedResult.info.next',//下一页的页数
prev: 'pagedResult.info.prev',//上一页的页数
totalPage: 'pagedResult.info.totalPage',//总共多少页
pageIndex: 'pagedResult.info.pageIndex',//第几页
pageSize: 'pagedResult.info.pageSize',//每页多少条数据
first: 'pagedResult.info.first',//第一页的页数
last: 'pagedResult.info.last',//最后一页的页数
total: 'pagedResult.total',//总共多少条数据
},
/**
* 定义:分页每页几条数据字段名
* 类型:string
*/
pageSizeName: 'pageSize',
/**
* 定义:分页页数字段名
* 类型:string
*/
pageIndexName: 'pageNum',
},
/**
* 定义:码表接口
* 类型:string
*/
codeUrl: '/portal/crm/infra/code.do?query&code=',
/**
* 定义:总码表顶级记录对象
* 类型:string
*/
codeMapperData: 'codeMapperData',
/**
* 定义:加载完码表后执行的事件
* 类型:function
*/
afterCodeLoaded: window.initCodeSelectPicker || function () {},
/**
* 定义:列的默认配置(field.option里的属性为用户可以修改的值)
* 类型:object
*/
fieldOptions: {
/**
* 定义:列字段名(列的唯一标识)
* 类型:string
*/
field: '',
/**
* 定义:列头的显示内容
* 类型:string
*/
title: '',
/**
* 定义:列头th元素的title属性值(为空则为title的值),
* 类型:string
*/
thTitle: '',
/**
* 定义:列头th元素是否有title属性,
* 类型:boolean
*/
hasTitle: true,
/**
* 定义:列宽度
* 类型:number/string
* 说明:如果没有配置则自适应,最小宽度为table的minFieldWidth值。
*/
width: 'initial',
/**
* 定义:列头跨列数
* 类型:number
*/
colspan: 1,
/**
* 定义:列头跨行数
* 类型:number
*/
rowspan: 1,
/**
* 定义:列文本对齐方式
* 类型:string
*/
align: 'left',
/**
* 定义:是否将单元格最终的值包含在div.kg-datagird-twrap 中
* 类型:boolean
*/
hasWrap: true,
/**
* 定义:是否固定列,true|'left'为左边固定,'right'为右边固定
* 类型:boolean/string
*/
fixed: false,
/**
* 定义:列td内容是否换行,不换行超出部分省略号表示
* 类型:boolean
* 说明:不换行会将超出文本用省略号表示。换行可能会导致每一行的高度不一致,这种情况下会牺牲额外的性能去同步固定表和主表的行高度
*/
newline: false,
/**
* 定义:列文本是否可以被鼠标选择
* 类型:boolean
*/
canSelect: true,
/**
* 定义:列输出的值采用的变换规则
* 类型:string/null
* 说明:单元格内的值在最终输出之前,这个值会先执行[rule]方法。比如这个值为'abc',rule为'toUpperCase',那么最终输出的值为 'abc'.toUpperCase(),即为'ABC'。使用之前先确保这个方法存在。
*/
rule: null,
/**
* 定义:列排序的字段,如果有值代表这个列可以排序,并且每次请求会将此名传到后台
* 类型:string
*/
orderName: '',
/**
* 定义:列码表参数,用于码表接口提供参数,返回值映射到最后的输出值
* 类型:string
*/
code: '',
/**
* 定义:列禁止的按钮 按钮名字字符串逗号拼接
* 类型:string
*/
forbiddenBtns: '',
}
};
如需修改全局默认属性,在表格初始化之前修改Datagrid.DEFAULTS
即可。