可固定头尾和两边的列的表格插件
jquery.utable.js 说明文档
1目的
此文档包含了用jquery.utable.js创建业务表格的所有知识。
2说明
本插件提供了列固定的功能,以及可按一系列自定义展示的配置
3起步
3.1创建一個容器
引入依赖文件后,在需要创建表格的地方编写个div标签作为容器,再编写初始化控件的代码即可呈现表格。
例如:
<div id="utable1"></div>
3.2准备数据接口
创建一个data.json文件作为请求的数据接口,文件包含的有以下数据,其中TotalCount代表数据总数和,Items为要显示的数据序列,序列项必须保持属性、类型一致且具有唯一键代表数据项。
{ "TotalCount": 500,
} |
3.4载入utable
由于utable依赖jquery,所以首先引入jquery.js(>=1.8),再引入jquery.utable.js以及样式jquery.utable.css文件。
<link href="jquery.utable.css" rel="stylesheet"></link>
<script src="jquery.js"></script> <script src="jquery.utable.js"></script> |
3.5初始化utable
$("#utable1").uTable({ Url: 'data.json', parseItems: function (response) { return response.Result.Items; }, parseTotalCount: function (response) { return response.Result.TotalCount; }, TableColumns: [ { head: "内容", tag: " Content " }], TableClass: 'table table-bordered', PageSize: 5, DefaultSortField: 'Id', DefaultSortWay: 'Desc', KeyField: 'Id', }); |
4详细说明
4.1配置说明
4.1.1.containerSelector jquery容器选择器
如: $(containerSelector).utable(UTableOption)
4.2.2. UTableOption 表格主配置项
如: $(containerSelector).utable(UTableOption)
属性说明:
属性名 | 类型 | 说明 | 默认值 |
condition | Object | 过滤条件 | |
TableColumns | Array(**UTableColumnOption**) | 列配置项数组 | |
Url | String | 获取数据的地址 | |
TableClass | String | 表格样式 | table table-bordered |
ShowCheckBox | Boolean | 是否显示复选框 | false |
ShowRadioBox | Boolean | 是否显示单选框 | false |
ShowRowIndex | Boolean | 是否显示行索引 | false |
ShowPager | Boolean | 是否显示分页控件 | true |
PageSize | Number | 行页显示行数 | 50 |
DefaultSortField | String | 用于提供给后端排序的列名 |
Id |
DefaultSortWay | String(asc|desc | 提供给后端排序时是正序还是倒序的依据 | asc |
KeyField | String | 数据项的主键 | Id |
MemoryPage | Boolean | 是否内存分页 | |
MemoryAllData | Array | 当MemoryPage为true时,要进行内存分页的全部数据 | |
IndexColWidth | Number | 索引列的宽度(px) | 50 |
CheckWidth | Number | 复选框列的宽度 | 30 |
TableBodyHeight | Number | 表格内容高度 | 200 |
FixedColumn | Boolean | 是否启用固定列 | true |
FootAlign | String | 表格脚部的文本对齐方式 | Center |
showNoData | Boolean | 没有数据时是否显示showNoDataText | true |
showNoDataText | String | 没数据时显示的文本 |
暂无更多数据了 |
**FooterOptions** | Object | 表脚的配置 |
回调事件和函数
1、rowClickHandler:void
说明:用户点击行事件 参数:
evt 事件信息
model 当前行数据项
2、changeRadioButton:void
说明:选择单选框时触发
参数:
evt事件信息
model当前行数据项
3、changeCheckboxButton:void
说明:选择复选框时触发
参数:
evt事件信息
model当前行数据项
4、afterLoad:void
说明:加载数据完成后触发
参数:
response 原始 response 对象
5、checkAllChangeHandler:void
说明:选择全部回调方法
参数:
evt 事件信息
6、beforePageChange:void
说明:跳页前
参数:
evt 事件信息
pageObj 跳页的参数信息
currentPageIndex:当前页码
pageSize:每页显示行数
totalCount:总行数
pageTotal:总页码
7、parseItems: Array
说明:本函数接收原始 response 对象,返回可以用于展示的数组 参数
response 原始 response 对象
返回
Array 展示的数组
4.2.3.UTableColumnOption 配置项
UtableColumnOption代表表格列的配置项
属性 | 说明 |
head:string | 列头文本 |
tag:string | 数据字段名 |
width:Number | 列宽度 |
sort:Number | 1为排序,0为不排序 |
sortTag | 排序的字段名 |
format:enum
{ string,money,rate,MoneySN,week,utc@日期格式 } |
显示类型 |
addClass:string | 额外列样式 |
Img:string | 图片链接 |
isLink:bool | 是否链接 |
url:string | 跳转地址 |
paras:string | 参数 |
Text:string | 显示文本 |
target:string | 链接目标(_blank,_self) |
linkList:Array<**LinkOption**> | 按钮列表配置 |
align:string | 列表对齐方式,center,left,right |
headAlign:string | 列头对齐方式,center,left,right |
isOper:bool | 是否操作按钮 |
fixColumn:bool | 是否固定列 |
nowrap:bool | 是否换行 |
enums |
枚举对象定义,例子:
{ Number: { text: "数字", value: 20 } } |
回调函数与事件:
1、 clickEvent 点击事件
a) 参数:evt 事件对象
model 当前行的数据对象
rowTag 当前行的tr对象
2、 func:当没配置format时,每次展示数据时都会执行,执行后的返回值是改单元格显示的结果
参数:
model 当前行对象
text 文本
cell td Dom对象
link a 标签对象
rowTag tr 标签对象
4.2.4. LinkOption配置项
属性 | 说明 |
img | 图片路径 |
target | 点击的目标 |
url | 地址 |
paras | 参数 |
clickEvent | 点击事件 |
tip | 提示 |
text | 显示的文本 |
cssClass |
3、 clickEvent 点击事件
a) 参数:evt 事件对象
model 当前行的数据对象
rowTag 当前行的tr对象
4、 func:每次展示数据时都会执行,执行后的返回值是改单元格显示的结果
参数:
model 当前行对象
text 文本
cell td Dom对象
link a 标签对象
rowTag tr 标签对象
4.2.5 FooterOptions表脚配置项
由于这里内容比较多,贴个示例代码:
Rows: [ { RowType: "合计", RowTypeNameIndex: 2, Cells: [ { CellIndex: 8, // data 为请求回来的数据, cell为当前单元格Dom Func: function (data, cell) { // console.log(data); var total=0; for(var i=0;i<data.Result.Items.length;i++){ total+=data.Result.Items[i].money; } return total; } } ] }, { RowType: "平均数", RowTypeNameIndex: 2, Cells: [ { CellIndex: 8, // data 为请求回来的数据, cell为当前单元格Dom Func: function (data, cell) { var total=0; for(var i=0;i<data.Result.Items.length;i++){ total+=data.Result.Items[i].money; } return total/data.Result.Items.length; } } ] } ]
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。