jQuery EasyUI API 中文文档 - DataGrid数据表格


Posted in Javascript onNovember 17, 2011

扩展自 $.fn.panel.defaults ,用 $.fn.datagrid.defaults 重写了 defaults 。
依赖
panel
resizable
linkbutton
pagination
用法

<table id="tt"></table>

$('#tt').datagrid({ 
url:'datagrid_data.json', 
columns:[[ 
{field:'code',title:'Code',width:100}, 
{field:'name',title:'Name',width:100}, 
{field:'price',title:'Price',width:100,align:'right'} 
]] 
});

数据表格(DataGrid)的特性<?XML:NAMESPACE PREFIX = O />

其特性扩展自 panel,下列是为 datagrid 增加的特性。

名称 类型 说明 默认值
columns array datagrid 的 column 的配置对象,更多详细请参见 column 的特性。 null
frozenColumns array 和列的特性一样,但是这些列将被冻结在左边。 null
fitColumns boolean True 就会自动扩大或缩小列的尺寸以适应表格的宽度并且防止水平滚动。 false
striped boolean True 就把行条纹化。(即奇偶行使用不同背景色) false
method string 请求远程数据的 method 类型。 post
nowrap boolean True 就会把数据显示在一行里。 true
idField string 标识字段。 null
url string 从远程站点请求数据的 URL。 null
loadMsg string 当从远程站点加载数据时,显示的提示信息。 Processing, please wait …
pagination boolean True 就会在 datagrid 的底部显示分页栏。 false
rownumbers boolean True 就会显示行号的列。 false
singleSelect boolean True 就会只允许选中一行。 false
pageNumber number 当设置了 pagination 特性时,初始化页码。 1
pageSize number 当设置了 pagination 特性时,初始化页码尺寸。 10
pageList array 当设置了 pagination 特性时,初始化页面尺寸的选择列表。 [10,20,30,40,50]
queryParams object 当请求远程数据时,发送的额外参数。 {}
sortName string 定义可以排序的列。 null
sortOrder string 定义列的排序顺序,只能用 'asc' 或 'desc'。 asc
remoteSort boolean 定义是否从服务器给数据排序。 true
showFooter boolean 定义是否显示一行页脚。 false
rowStyler function 返回例如 'background:red' 的样式,该函数需要两个参数:rowIndex: 行的索引,从 0 开始。rowData: 此行相应的记录。  
loadFilter function 返回过滤的数据去显示。这个函数需要一个参数 'data' ,表示原始数据。 你可以把原始数据变成标准数据格式,此函数必须返回标准数据对象,含有 'total' 和 'rows' 特性。  
editors object 定义编辑行时的 editor 。 预定义的 editor
view object 定义 datagrid 的 view 。 默认的 view
列(Column)的特性
DataGrid 的 Column 是一个数组对象,它的每个元素也是一个数组。数组元素的元素是一个配置对象,它定义了每个列的字段。
代码示例:
columns:[[ 
{field:'itemid',title:'Item ID',rowspan:2,width:80,sortable:true}, 
{field:'productid',title:'Product ID',rowspan:2,width:80,sortable:true}, 
{title:'Item Details',colspan:4} 
],[ 
{field:'listprice',title:'List Price',width:80,align:'right',sortable:true}, 
{field:'unitcost',title:'Unit Cost',width:80,align:'right',sortable:true}, 
{field:'attr1',title:'Attribute',width:100}, 
{field:'status',title:'Status',width:60} 
]]

名称 类型 说明 默认值
title string 列的标题文字。 undefined
field string 列的字段名。 undefined
width number 列的宽度。 undefined
rowspan number 指一个单元格占据多少行。 undefined
colspan number 指一个单元格占据多少列。 undefined
align string 指如何对齐此列的数据,可以用 'left'、'right'、'center'。 undefined
sortable boolean True 就允许此列被排序。 undefined
resizable boolean True 就允许此列被调整尺寸。 undefined
hidden boolean True 就隐藏此列。 undefined
checkbox boolean True 就显示 checkbox。 undefined
formatter function 单元格的格式化函数,需要三个参数: value: 字段的值。rowData: 行的记录数据。rowIndex: 行的索引。 undefined
styler function 单元格的样式函数,返回样式字符串来自定义此单元格的样式,例如 'background:red' 。此函数需要三个参数:value: 字段的值。rowData: 行的记录数据。rowIndex: 行的索引。 undefined
sorter function 自定义字段的排序函数,需要两个参数:a: 第一个字段值。b: 第二个字段值。 undefined
editor string,object 指编辑类型。当是 string 时指编辑类型,当 object 时包含两个特性: type:string,编辑类型,可能的类型是:  text、textarea、checkbox、numberbox、validatebox、datebox、combobox、combotree。options:对象,编辑类型对应的编辑器选项。 undefined
编辑器(Editor)

用 $.fn.datagrid.defaults.editors 重写了 defaults。

每个编辑器有下列行为:

名称 参数 说明
init container, options 初始化编辑器并且返回目标对象。
destroy target 如果必要就销毁编辑器。
getValue target 从编辑器的文本返回值。
setValue target , value 给编辑器设置值。
resize target , width 如果必要就调整编辑器的尺寸。
例如,文本编辑器(text editor)像下面这样定义:
$.extend($.fn.datagrid.defaults.editors, { 
text: { 
init: function(container, options){ 
var input = $('<input type="text" class="datagrid-editable-input">').appendTo(container); 
return input; 
}, 
getValue: function(target){ 
return $(target).val(); 
}, 
setValue: function(target, value){ 
$(target).val(value); 
}, 
resize: function(target, width){ 
var input = $(target); 
if ($.boxModel == true){ 
input.width(width - (input.outerWidth() - input.width())); 
} else { 
input.width(width); 
} 
} 
} 
});

数据表格视图(DataGrid View)
用 $.fn.datagrid.defaults.view 重写了 defaults。
view 是一个对象,它告诉 datagrid 如何呈现行。这个对象必须定义下列方法。
名称 参数 说明
render target, container, frozen 当数据加载时调用。target:DOM 对象,datagrid 对象。container:行的容器。frozen:表示是否呈现冻结容器。
renderFooter target, container, frozen 这是呈现行脚选项的函数。
renderRow target, fields, frozen, rowIndex, rowData 这是选项的函数,将会被 render 函数调用。
refreshRow target, rowIndex 定义如何刷新指定的行。
onBeforeRender target, rows 视图被呈现前触发。
onAfterRender target 视图被呈现后触发。
事件

其事件扩展自 panel,下列是为 datagrid 增加的事件。

名称 参数 说明
onLoadSuccess data 当数据加载成功时触发。
onLoadError none 加载远程数据发生某些错误时触发。
onBeforeLoad param 发送加载数据的请求前触发,如果返回 false加载动作就会取消。
onClickRow rowIndex, rowData 当用户点击一行时触发,参数包括: rowIndex:被点击行的索引,从 0 开始。rowData:被点击行对应的记录。
onDblClickRow rowIndex, rowData 当用户双击一行时触发,参数包括: rowIndex:被双击行的索引,从 0 开始。rowData:被双击行对应的记录。
onClickCell rowIndex, field, value 当用户单击一个单元格时触发。
onDblClickCell rowIndex, field, value 当用户双击一个单元格时触发。
onSortColumn sort, order 当用户对一列进行排序时触发,参数包括: sort:排序的列的字段名order:排序的列的顺序
onResizeColumn field, width 当用户调整列的尺寸时触发。
onSelect rowIndex, rowData 当用户选中一行时触发,参数包括: rowIndex:选中行的索引,从 0 开始rowData:选中行对应的记录
onUnselect rowIndex, rowData 当用户取消选择一行时触发,参数包括: rowIndex:取消选中行的索引,从 0 开始rowData:取消选中行对应的记录
onSelectAll rows 当用户选中全部行时触发。
onUnselectAll rows 当用户取消选中全部行时触发。
onBeforeEdit rowIndex, rowData 当用户开始编辑一行时触发,参数包括: rowIndex:编辑行的索引,从 0 开始rowData:编辑行对应的记录
onAfterEdit rowIndex, rowData, changes 当用户完成编辑一行时触发,参数包括: rowIndex:编辑行的索引,从 0 开始rowData:编辑行对应的记录changes:更改的字段/值对
onCancelEdit rowIndex, rowData 当用户取消编辑一行时触发,参数包括: rowIndex:编辑行的索引,从 0 开始rowData:编辑行对应的记录
onHeaderContextMenu e, field 当 datagrid 的头部被右键单击时触发。
onRowContextMenu e, rowIndex, rowData 当右键点击行时触发。

方法

名称 参数 说明
options none 返回 options 对象。
getPager none 返回 pager 对象。
getPanel none 返回 panel 对象。
getColumnFields frozen 返回列的字段,如果 frozen 设定为 true,冻结列的字段被返回。
getColumnOption field 返回指定列的选项。
resize param 调整尺寸和布局。
load param 加载并显示第一页的行,如果指定 param 参数,它将替换 queryParams 特性。
reload param 重新加载行,就像 load 方法一样,但是保持在当前页。
reloadFooter footer 重新加载脚部的行。
loading none 显示正在加载状态。
loaded none 隐藏正在加载状态。
fitColumns none 使列自动展开/折叠以适应 datagrid 的宽度。
fixColumnSize none 固定列的尺寸。
fixRowHeight index 固定指定行的高度。
loadData data 加载本地数据,旧的行会被移除。
getData none 返回加载的数据。
getRows none 返回当前页的行。
getFooterRows none 返回脚部的行。
getRowIndex row 返回指定行的索引,row 参数可以是一个行记录或者一个 id 字段的值。
getSelected none 返回第一个选中的行或者 null。
getSelections none 返回所有选中的行,当没有选中的记录时,将返回空数组。
clearSelections none 清除所有的选择。
selectAll none 选中当前页所有的行。
unselectAll none 取消选中当前页所有的行。
selectRow index 选中一行,行索引从 0 开始。
selectRecord idValue 通过 id 的值做参数选中一行。
unselectRow index 取消选中一行。
beginEdit index 开始对一行进行编辑。
endEdit index 结束对一行进行编辑。
cancelEdit index 取消对一行进行编辑。
getEditors index 获取指定行的编辑器们。每个编辑器有下列特性:actions:编辑器能做的动作们。target:目标编辑器的 jQuery 对象。field:字段名。type:编辑器的类型。
getEditor options 获取指定的编辑器, options 参数包含两个特性: index:行的索引。field:字段名。
refreshRow index 刷新一行。
validateRow index 验证指定的行,有效时返回 true。
updateRow param 更新指定的行, param 参数包含下列特性:index:更新行的索引。row:行的新数据。
appendRow row 追加一个新行。
insertRow param 插入一个新行, param 参数包括下列特性:index:插入进去的行的索引,如果没有定义,就追加此新行。row:行的数据。
deleteRow index 删除一行。
getChanges type 获取最后一次提交以来更改的行,type 参数表示更改的行的类型,可能的值是:inserted、deleted、updated,等等。 当 type 参数没有分配时,返回所有改变的行。
acceptChanges none 提交自从被加载以来或最后一次调用acceptChanges以来所有更改的数据。
rejectChanges none 回滚自从创建以来或最后一次调用acceptChanges以来所有更改的数据。
mergeCells options 把一些单元格合并为一个单元格,options 参数包括下列特性:index:列的索引。field:字段名。rowspan:合并跨越的行数。colspan:合并跨越的列数。
showColumn field 显示指定的列。
hideColumn field 隐藏指定的列。
Javascript 相关文章推荐
简单的js分页脚本
May 21 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
Jul 29 Javascript
jquery插件开发之实现jquery手风琴功能分享
Mar 10 Javascript
Js实现动态添加删除Table行示例
Apr 14 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
Oct 29 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
AngularJS监听路由的变化示例代码
Sep 23 Javascript
EasyUI实现下拉框多选功能
Nov 07 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
超简单的微信小程序轮播图
Nov 22 Javascript
javascript局部自定义鼠标右键菜单
Dec 08 Javascript
Jquery 获取checkbox的checked问题
Nov 16 #Javascript
JS 操作符整理[推荐收藏]
Nov 15 #Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 #Javascript
关于js datetime的那点事
Nov 15 #Javascript
基于jquery封装的一个js分页
Nov 15 #Javascript
js 利用className得到对象的实现代码
Nov 15 #Javascript
基于jquery的web页面日期格式化插件
Nov 15 #Javascript
You might like
编译php 5.2.14+fpm+memcached(具体操作详解)
2013/06/18 PHP
Php header()函数语法及使用代码
2013/11/04 PHP
PHP中redis的用法深入解析
2014/02/20 PHP
PHP上传文件时自动分配路径的方法
2015/01/09 PHP
详解 PHP加密解密字符串函数附源码下载
2015/12/18 PHP
微信公众号模板消息群发php代码示例
2016/12/29 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
js获取select选中的option的text示例代码
2013/12/19 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
基于Nodejs利用socket.io实现多人聊天室
2017/02/22 NodeJs
js遍历json对象所有key及根据动态key获取值的方法(必看)
2017/03/09 Javascript
在vue.js中抽出公共代码的方法示例
2017/06/08 Javascript
浅谈vue 单文件探索
2018/09/05 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python实现倒计时的示例
2014/02/14 Python
Python自动登录126邮箱的方法
2015/07/10 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python实现的字典排序操作示例【按键名key与键值value排序】
2018/12/21 Python
使用浏览器访问python写的服务器程序
2019/10/10 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
初一家长会邀请函
2014/01/31 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
毕业生实习证明
2014/09/19 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
工作收入住址证明
2014/10/28 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
MySQL 视图(View)原理解析
2021/05/19 MySQL
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android