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.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
随机推荐
- Puppet
一个完整的自动化运维包括系统安装.配置管理.服务监控三个方面.那今天咱们大家一起来学习一下Puppet实际运维中的案例.仅供参考,欢迎大家提更多的意见! 一.应用背景 某公司新到500台服务器,需要安 ...
- javascript函数中的实例对象、类对象、局部变量(局部函数)
定义 function Person(national,age) { this.age = age; //实例对象,每个示例不同 Person.national = national; //类对象,所 ...
- 史上最全的 UIWebview 的 JS 与 OC 交互
来源:伯乐在线 - 键盘风筝 链接:http://ios.jobbole.com/89330/ 点击 → 申请加入伯乐在线专栏作者 其实一直想给大家整理一下JS与OC的交互,但是没有合适的机会,今天借 ...
- CSS 之 内层div填充margin,外层div的背景色不会覆盖该margin
外层元素(如div)中只有一个非空子元素,此时margin是被折叠了.两者之间取最大的margin值,表现在外层父元素上,而不是内层子元素. 注意: (1)只有垂直方向上才会出现此现象,水平方向不会出 ...
- IIS 之 托管管道模式
IIS 7.0 支持两种管道模式: (1)IIS 7.0 最新提供的集成管道模式(Integrated), (2)经典管道模式(Classic),经典管道模式是由先前版本的IIS提供的. 我们可以通过 ...
- 基于python3的手机号生成脚本
今天利用业余,自己突发想法来写个手机号码生成的脚本,其实自己用的方法很简单,想必肯定又不少人写的比我的好,我只是自己闲来无聊搞一下, #作者:雷子 #qq:952943386 #日期:2016年7月1 ...
- 结合源码看nginx-1.4.0之nginx全局变量ngx_cycle初始化详解
目录 0. 摘要 1. ngx_cycle_t结构设计 2. ngx_cycle_t数据结构 3. nginx全局变量ngx_cycle初始化 4. 小结 5. 参考资料 0. 摘要 Nginx核心的 ...
- [JavaEE] Hibernate ORM
一. Hibernate的简要介绍 Hibernate是轻量级Java EE应用的持久层解决方案,Hibernate不仅管理者Java类到数据库表的映射(包括Java 数据类型到SQL数据类型的映射) ...
- Android(java)学习笔记263:Android下的属性动画(Property Animation)
1. 属性动画(Property Animation)引入: 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(fra ...
- RandomAccessFile的使用
package com.lk.C; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAc ...