EasyUI_Datagrid学习总结
EasyUI_Datagrid学习总结
2016年7月25日星期一
一、简介
Easyui中的datagrid从总的作用上讲,就是在列表上显示数据,类似于table,但是在table的基础上,此控件更加方便、快捷的实现想要的功能,且能在此控件属性中有分页等控件,也就更好的对数据进行处理等。
二.基本的属性介绍
1.Columns : 列的配置对象。
基本的用法是:
[[{field:'productid',title:’id’,width:100,align:'center',halign:'center',sortable:true}]]
上面的一行代码表示的是一列field表示这一列的数据显示的名称,也就是后台传回来数据的某一项属性:如id、name等等属性。title则表示这列的标题,相当于table中的<th>标签。在datagrid中列类似的属性有很多;下面说一些,我认为常用的属性:(更多的查看api)
title:(String)表示标题文本
field:(String)列字段名称
width:(number)宽度,不写将自动扩充以便适应内容
rowspan:(number)(合并行)。
colspan:(number)(合并列)。
align:(‘left’|’right’|’ center’)如何对其数据
halign: (‘left’|’right’|’ center’)如何对其标题(title)
sortable:(true|false)是否允许排序
order:(asc|desc)排序方式;如果写上了,传递参数的时候后自动传入到后台去。
checkbox:(true|false)true显示复选框。该复选框列固定宽度
editor:{'type':'numberbox','options':{precision:1}},对列中将要改变的数据做类型限制,共有
text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree。
后面的'options'做为相对应的类型属性。
formatter:function(value,row,index){
//单元格formatter(格式化器)函数,带3个参数:
if (row.user){
return row.user.name;
} else {
return value;
}
}
以上是列的属性,还有相关的没有写完,可以查看api
2.toolbar: 顶部工具栏的DataGrid面板。
在<div>标签上定义工具栏
$('#dg').datagrid({
toolbar: '#tb'
});
<div id="tb">
<a href="#"class="easyui-linkbutton"data-options="iconCls:'icon-edit',plain:true"/a>
<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-help',plain:true"/a>
</div>
通过数组定义工具栏:
$('#dg').datagrid({
toolbar: [{
iconCls: 'icon-edit',
handler: function(){alert('编辑按钮')}
},'-',{
iconCls: 'icon-help',
handler: function(){alert('帮助按钮')}
}]
});
3.striped:是否显示斑马线(true||false)
4.method:请求方式(String)
5. idField:指明那个字段是标识字段(主键)(String)
6. url:远程请求的地址
7. data:加载数据
8. loadMsg:加载数据显示的提示信息。(String)
9. pagination:是否需要分页(false||true)
10. rownumbers:每行是否显示行号列(false||true)
11. singleSelect: 如果为true,则只允许选择一行。
12. checkOnSelect:当为true,当选中行时。复选框也被选中。
13. selectOnCheck:当为true,当选中复选框时。行也被选中
14.pagePosition:(‘top’||‘bottom’||‘both’)//分页控件位置
15. pageNumber:(number)表示初始化。
16. pageSize:(number)//初始化页面大小
17. pageList:(array[number])//[10,20,30,40,50]
18. queryParams:object//传递参数
19. multiSort:(false||true)//是否允许多列排序
注:还有其他一些属性
三、事件(事件继承自panel(面板),以下是DataGrid新增的事件。)
|
事件名 |
参数 |
描述 |
|
onLoadSuccess |
data |
在数据加载成功的时候触发。 |
|
onLoadError |
none |
在载入远程数据产生错误的时候触发。 |
|
onBeforeLoad |
param |
在载入请求数据数据之前触发,如果返回false可终止载入数据操作。 |
|
onClickRow |
index, row |
在用户点击一行的时候触发,参数包括: |
|
onDblClickRow |
index, row |
在用户双击一行的时候触发,参数包括: |
|
onClickCell |
index, field, value |
在用户点击一个单元格的时候触发。 |
|
onDblClickCell |
index, field, value |
在用户双击一个单元格的时候触发。 代码示例: // 在双击一个单元格的时候开始编辑并生成编辑器,然后定位到编辑器的输入框上 $('#dg').datagrid({ onDblClickCell: function(index,field,value){ $(this).datagrid('beginEdit', var ed $(ed.target).focus(); } }); |
|
onBeforeSortColumn |
sort, order |
在用户排序一个列之前触发,返回false可以取消排序。(该事件自1.3.6版开始可用) |
|
onSortColumn |
sort, order |
在用户排序一列的时候触发,参数包括: |
|
onResizeColumn |
field, width |
在用户调整列大小的时候触发。 |
|
onBeforeSelect |
index, row |
在用户选择一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用) |
|
onSelect |
index, row |
在用户选择一行的时候触发,参数包括: |
|
onBeforeUnselect |
index, row |
在用户取消选择一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用) |
|
onUnselect |
index, row |
在用户取消选择一行的时候触发,参数包括: |
|
onSelectAll |
rows |
在用户选择所有行的时候触发。 |
|
onUnselectAll |
rows |
在用户取消选择所有行的时候触发。 |
|
onBeforeCheck |
index, row |
在用户校验一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用) |
|
onCheck |
index, row |
在用户勾选一行的时候触发,参数包括: |
|
onBeforeUncheck |
index, row |
在用户取消校验一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用) |
|
onUncheck |
index, row |
在用户取消勾选一行的时候触发,参数包括: |
|
onCheckAll |
rows |
在用户勾选所有行的时候触发。(该事件自1.3版开始可用) |
|
onUncheckAll |
rows |
在用户取消勾选所有行的时候触发。(该事件自1.3版开始可用) |
|
onBeforeEdit |
index, row |
在用户开始编辑一行的时候触发,参数包括: |
|
onBeginEdit |
index, row |
在一行进入编辑模式的时候触发。(该事件自1.3.6版开始可用) |
|
onEndEdit |
index, row, changes |
在完成编辑但编辑器还没有销毁之前触发。(该事件自1.3.6版开始可用) |
|
onAfterEdit |
index, row, changes |
在用户完成编辑一行的时候触发,参数包括: |
|
onCancelEdit |
index,row |
在用户取消编辑一行的时候触发,参数包括: |
|
onHeaderContextMenu |
e, field |
在鼠标右击DataGrid表格头的时候触发。 |
|
onRowContextMenu |
e, index, row |
在鼠标右击一行记录的时候触发。 |
四、方法:
|
方法名 |
参数 |
说明 |
|
options |
none |
var opts = |
|
getPager |
none |
var opts = $('#dg').datagrid(' getPager '); 或得此对象就可以对分页进行处理。具体使用可以查看pagination控件 |
|
getPanel |
none |
同上的使用方法,获得panel对象 |
|
getColumnFields |
frozen |
得到列的字段 $('#dg').datagrid('getColumnFields');//获取解冻列
$('#dg').datagrid('getColumnFields',true); // 获取冻结列
|
|
getColumnOption |
field |
返回指定列的属性,参数为相应列的字段 |
|
resize |
param |
做调整和布局 |
|
load |
param |
加载数据,param有值的话会替代属性中queryparam |
|
reload |
param |
重载,使用方法同上。重载后再当前页 |
|
reloadFooter |
footer |
重载页脚行。 |
|
loading |
none |
显示载入状态。 |
|
loaded |
none |
隐藏载入状态。 |
|
fitColumns |
none |
使列自动展开/收缩到合适的DataGrid宽度。 |
|
fixColumnSize |
field |
固定列大小。如果'field'参数未配置,所有列大小将都是固定的。 $('#dg').datagrid('fixColumnSize', 'name');// 固定'name'列大小
$('#dg').datagrid('fixColumnSize'); // 固定所有列大小
|
|
fixRowHeight |
index |
固定指定列高度。如果'index'参数未配置,所有行高度都是固定的。 |
|
freezeRow |
index |
冻结指定行,当DataGrid表格向下滚动的时候始终保持被冻结的行显示在顶部。(该方法自1.3.2版开始可用) |
|
autoSizeColumn |
field |
自动调整列宽度以适应内容。(该方法自1.3版开始可用) |
|
loadData |
data |
加载本地数据,旧的行将被移除。 |
|
getData |
none |
返回加载完毕后的数据。 |
|
getRows |
none |
返回当前页的所有行。 |
|
getFooterRows |
none |
返回页脚行。 |
|
getRowIndex |
row |
返回指定行的索引号,该行的参数可以是一行记录或一个ID字段值。 |
|
getChecked |
none |
在复选框呗选中的时候返回所有行。(该方法自1.3版开始可用) |
|
getSelected |
none |
返回第一个被选中的行或如果没有选中的行则返回null。 |
|
getSelections |
none |
返回所有被选中的行,当没有记录被选中的时候将返回一个空数组。 |
|
clearSelections |
none |
清除所有选择的行。 |
|
clearChecked |
none |
清除所有勾选的行。(该方法自1.3.2版开始可用) |
|
scrollTo |
index |
滚动到指定的行。(该方法自1.3.3版开始可用) |
|
highlightRow |
index |
高亮一行。(该方法自1.3.3版开始可用) |
|
selectAll |
none |
选择当前页中所有的行。 |
|
unselectAll |
none |
取消当前页选择所有行 |
|
selectRow |
index |
选择一行,行索引从0开始。 |
|
selectRecord |
idValue |
通过ID值参数选择一行。 |
|
unselectRow |
index |
取消选择一行。 |
|
checkAll |
none |
勾选当前页中的所有行。(该方法自1.3版开始可用) |
|
uncheckAll |
none |
取消勾选当前页中的所有行。(该方法自1.3版开始可用) |
|
checkRow |
index |
勾选一行,行索引从0开始。(该方法自1.3版开始可用) |
|
uncheckRow |
index |
取消勾选一行,行索引从0开始。(该方法自1.3版开始可用) |
|
beginEdit |
index |
开始编辑行。 |
|
endEdit |
index |
结束编辑行。 |
|
cancelEdit |
index |
取消编辑行。 |
|
getEditors |
index |
获取指定行的编辑器。每个编辑器都有以下属性: |
|
getEditor |
options |
获取指定编辑器,options包含2个属性: 代码示例: // 获取日期输入框编辑器并更改它的值 var ed = $('#dg').datagrid('getEditor', $(ed.target).datebox('setValue', '5/4/2012'); |
|
refreshRow |
index |
刷新行。 |
|
validateRow |
index |
验证指定的行,当验证有效的时候返回true。 |
|
updateRow |
param |
更新指定行,参数包含下列属性: 代码示例: $('#dg').datagrid('updateRow',{ index: row: { name: note: } }); |
|
appendRow |
row |
追加一个新行。新行将被添加到最后的位置。 $('#dg').datagrid('appendRow',{ name: age: note: }); |
|
insertRow |
param |
插入一个新行,参数包括一下属性: index: 1, // 索引从0开始 row: { name: age: 30, note: '新消息' } });//当添加成功时,用这种方式。就不需要再去后台请求刷新了。 如果排序的话就就不太合适。 |
|
deleteRow |
index |
删除行。 |
|
getChanges |
type |
从上一次的提交获取改变的所有行。类型参数指明用哪些类型改变的行,可以使用的值有:inserted,deleted,updated等。当类型参数未配置的时候返回所有改变的行。 |
|
acceptChanges |
none |
提交所有从加载或者上一次调用acceptChanges函数后更改的数据。 |
|
rejectChanges |
none |
回滚所有从创建或者上一次调用acceptChanges函数后更改的数据。 |
|
mergeCells |
options |
合并单元格,options包含以下属性: |
|
showColumn |
field |
显示指定的列。 |
|
hideColumn |
field |
隐藏指定的列。 |
|
sort |
param |
排序datagrid表格。(该方法自1.3.6版开始可用) 代码示例: $('#dg').datagrid('sort', 'itemid'); // 排序一个列
$('#dg').datagrid('sort', { // 指定了排序顺序的列
sortName: 'productid', sortOrder: 'desc' }); |
EasyUI_Datagrid学习总结的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- C++面向对象设计
一. 组合(复合),继承,委托 1.composition(组合)has-a 1.1 组合举例:(Adapter 设计模式) 关系: 利用deque功能实现所有queue功能 template < ...
- D. Ilya and Escalator
D. Ilya and Escalator time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
- iOS 自定义 shareSDK 容器
- (void)initializePlat { //添加新浪微博应用 [ShareSDK connectSinaWeiboWithAppKey:@"3201194191" app ...
- iOS UIImage DownLoad图片的下载缓存全部在此
iOS图片的下载缓存全部在此 分类: iOS编程 -- : 2075人阅读 评论() 收藏 举报 注意: 我的文章只写给自己看 ------------------------------------ ...
- 【Android 界面效果33】二级listview列表
今天来实现以下大众点评客户端的横向listview二级列表,先看一下样式. 这种横向的listview二级列表在手机软件上还不太常见,但是使用过平板的都应该知道,在平板上市比较常见的.可能是因为平板屏 ...
- foundation框架之反射机制
概念 例子 一.概念 反射:根据字符串实例话对象或者调用方法 // // main.m // 反射机制 // // Created by apple on 14-3-28. // Copyright ...
- Java学习笔记——单例设计模式Singleton
单例设计模式:singleton 解决的问题: 确保程序在运行过程中,某个类的实例instance只有一份. 特点: 1 构造函数私有化 2 自己内部声明自己 3 提供一个public方法,负责实例化 ...
- PSI在windows server2008服务器上的安装方法
PSI(http://www.oschina.net/p/psi-crm)是一款开源进销存软件,功能较为齐全,使用比较方便.在windows server2008系统中安装时遇到了一些问题,总结解决方 ...
- web前端开发(6)
为了避免全局变量泛滥导致冲突,最简单有效的办法是用匿名函数将脚本包起来,让变量的作用域控制在函数之内.