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

在用户点击一行的时候触发,参数包括:
index:点击的行的索引值,该索引值从0开始。
row:对应于点击行的记录。

onDblClickRow

index, row

在用户双击一行的时候触发,参数包括:
index:点击的行的索引值,该索引值从0开始。
row:对应于点击行的记录。

onClickCell

index, field, value

在用户点击一个单元格的时候触发。

onDblClickCell

index, field, value

在用户双击一个单元格的时候触发。

代码示例:

// 在双击一个单元格的时候开始编辑并生成编辑器,然后定位到编辑器的输入框上

$('#dg').datagrid({

        onDblClickCell: function(index,field,value){

                 $(this).datagrid('beginEdit',
index);

var ed
= $(this).datagrid('getEditor', {index:index,field:field});

     $(ed.target).focus();

        }

});

onBeforeSortColumn

sort, order

在用户排序一个列之前触发,返回false可以取消排序。(该事件自1.3.6版开始可用)

onSortColumn

sort, order

在用户排序一列的时候触发,参数包括:
sort:排序列字段名称。
order:排序列的顺序(ASC或DESC)

onResizeColumn

field, width

在用户调整列大小的时候触发。

onBeforeSelect

index, row

在用户选择一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用)

onSelect

index, row

在用户选择一行的时候触发,参数包括:
index:选择的行的索引值,索引从0开始。
row:对应于取消选择行的记录。

onBeforeUnselect

index, row

在用户取消选择一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用)

onUnselect

index, row

在用户取消选择一行的时候触发,参数包括:
index:选择的行的索引值,索引从0开始。
row:对应于取消选择行的记录。

onSelectAll

rows

在用户选择所有行的时候触发。

onUnselectAll

rows

在用户取消选择所有行的时候触发。

onBeforeCheck

index, row

在用户校验一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用)

onCheck

index, row

在用户勾选一行的时候触发,参数包括:
index:选中的行索引,索引从0开始。
row:对应于所选行的记录。
(该事件自1.3版开始可用)

onBeforeUncheck

index, row

在用户取消校验一行之前触发,返回false则取消该动作。(该事件自1.4.1版开始可用)

onUncheck

index, row

在用户取消勾选一行的时候触发,参数包括:
index:选中的行索引,索引从0开始。
row:对应于取消勾选行的记录。
(该事件自1.3版开始可用)

onCheckAll

rows

在用户勾选所有行的时候触发。(该事件自1.3版开始可用)

onUncheckAll

rows

在用户取消勾选所有行的时候触发。(该事件自1.3版开始可用)

onBeforeEdit

index, row

在用户开始编辑一行的时候触发,参数包括:
index:编辑行的索引,索引从0开始。
row:对应于编辑行的记录。

onBeginEdit

index, row

在一行进入编辑模式的时候触发。(该事件自1.3.6版开始可用)

onEndEdit

index, row, changes

在完成编辑但编辑器还没有销毁之前触发。(该事件自1.3.6版开始可用)

onAfterEdit

index, row, changes

在用户完成编辑一行的时候触发,参数包括:
index:编辑行的索引,索引从0开始。
row:对应于完成编辑的行的记录。
changes:更改后的字段(键)/值对。

onCancelEdit

index,row

在用户取消编辑一行的时候触发,参数包括:
index:编辑行的索引,索引从0开始。
row:对应于编辑行的记录。

onHeaderContextMenu

e, field

在鼠标右击DataGrid表格头的时候触发。

onRowContextMenu

e, index, row

在鼠标右击一行记录的时候触发。

四、方法:

方法名

参数

说明

options

none

var opts =
$('#dg').datagrid(' options ');

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

获取指定行的编辑器。每个编辑器都有以下属性:
actions:编辑器可以执行的动作,同编辑器定义。
target:目标编辑器的jQuery对象。
field:字段名称。
type:编辑器类型,比如:'text','combobox','datebox'等。

getEditor

options

获取指定编辑器,options包含2个属性:
index:行索引。
field:字段名称。

代码示例:

// 获取日期输入框编辑器并更改它的值

var ed = $('#dg').datagrid('getEditor',
{index:1,field:'birthday'});

$(ed.target).datebox('setValue', '5/4/2012');

refreshRow

index

刷新行。

validateRow

index

验证指定的行,当验证有效的时候返回true。

updateRow

param

更新指定行,参数包含下列属性:
index:执行更新操作的行索引。
row:更新行的新数据。

代码示例:

$('#dg').datagrid('updateRow',{

index:
2,

row: {

name:
'新名称',

note:
'新消息'

}

});

appendRow

row

追加一个新行。新行将被添加到最后的位置。

$('#dg').datagrid('appendRow',{

name:
'新名称',

age:
30,

note:
'新消息'

});

insertRow

param

插入一个新行,参数包括一下属性:
index:要插入的行索引,如果该索引值未定义,则追加新行。
row:行数据。代码示例:// 在第二行的位置插入一个新行$('#dg').datagrid('insertRow',{

index: 1,    // 索引从0开始

row: {

name:
'新名称',

age: 30,

              note: '新消息'
          }
});//当添加成功时,用这种方式。就不需要再去后台请求刷新了。
如果排序的话就就不太合适。

deleteRow

index

删除行。

getChanges

type

从上一次的提交获取改变的所有行。类型参数指明用哪些类型改变的行,可以使用的值有:inserted,deleted,updated等。当类型参数未配置的时候返回所有改变的行。

acceptChanges

none

提交所有从加载或者上一次调用acceptChanges函数后更改的数据。

rejectChanges

none

回滚所有从创建或者上一次调用acceptChanges函数后更改的数据。

mergeCells

options

合并单元格,options包含以下属性:
index:行索引。
field:字段名称。
rowspan:合并的行数。
colspan:合并的列数。

showColumn

field

显示指定的列。

hideColumn

field

隐藏指定的列。

sort

param

排序datagrid表格。(该方法自1.3.6版开始可用)

代码示例:

$('#dg').datagrid('sort', 'itemid');    // 排序一个列
$('#dg').datagrid('sort', {          // 指定了排序顺序的列
          sortName: 'productid',
          sortOrder: 'desc'
});

EasyUI_Datagrid学习总结的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

随机推荐

  1. Puppet

    一个完整的自动化运维包括系统安装.配置管理.服务监控三个方面.那今天咱们大家一起来学习一下Puppet实际运维中的案例.仅供参考,欢迎大家提更多的意见! 一.应用背景 某公司新到500台服务器,需要安 ...

  2. javascript函数中的实例对象、类对象、局部变量(局部函数)

    定义 function Person(national,age) { this.age = age; //实例对象,每个示例不同 Person.national = national; //类对象,所 ...

  3. 史上最全的 UIWebview 的 JS 与 OC 交互

    来源:伯乐在线 - 键盘风筝 链接:http://ios.jobbole.com/89330/ 点击 → 申请加入伯乐在线专栏作者 其实一直想给大家整理一下JS与OC的交互,但是没有合适的机会,今天借 ...

  4. CSS 之 内层div填充margin,外层div的背景色不会覆盖该margin

    外层元素(如div)中只有一个非空子元素,此时margin是被折叠了.两者之间取最大的margin值,表现在外层父元素上,而不是内层子元素. 注意: (1)只有垂直方向上才会出现此现象,水平方向不会出 ...

  5. IIS 之 托管管道模式

    IIS 7.0 支持两种管道模式: (1)IIS 7.0 最新提供的集成管道模式(Integrated), (2)经典管道模式(Classic),经典管道模式是由先前版本的IIS提供的. 我们可以通过 ...

  6. 基于python3的手机号生成脚本

    今天利用业余,自己突发想法来写个手机号码生成的脚本,其实自己用的方法很简单,想必肯定又不少人写的比我的好,我只是自己闲来无聊搞一下, #作者:雷子 #qq:952943386 #日期:2016年7月1 ...

  7. 结合源码看nginx-1.4.0之nginx全局变量ngx_cycle初始化详解

    目录 0. 摘要 1. ngx_cycle_t结构设计 2. ngx_cycle_t数据结构 3. nginx全局变量ngx_cycle初始化 4. 小结 5. 参考资料 0. 摘要 Nginx核心的 ...

  8. [JavaEE] Hibernate ORM

    一. Hibernate的简要介绍 Hibernate是轻量级Java EE应用的持久层解决方案,Hibernate不仅管理者Java类到数据库表的映射(包括Java 数据类型到SQL数据类型的映射) ...

  9. Android(java)学习笔记263:Android下的属性动画(Property Animation)

    1. 属性动画(Property Animation)引入: 在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(fra ...

  10. RandomAccessFile的使用

    package com.lk.C; import java.io.IOException; import java.io.RandomAccessFile; public class RandomAc ...