`

JqGrid 事件

 
阅读更多

JqGrid API:http://www.cnblogs.com/younggun/archive/2012/08/27/2657922.html

                      http://www.trirand.com/blog/jqgrid/jqgrid.html

Events(事件)

事件响应动作被设置为表格的属性,以下定义了行被选中时的响应:

var lastSel;

jQuery("#gridid").jqGrid({

...

   onSelectRow: function(id){

      if(id && id!==lastSel){

         jQuery('#gridid').restoreRow(lastSel);

         lastSel=id;

      }

      jQuery('#gridid').editRow(id, true);

   },

...

});

 

以下按字母顺序列出了可响应的时间:

事件

参数

描述

afterInsertRow

Rowed

Rowdata

Rowelem

此事件发生在每次插入行后

rowid 为插入的行ID

rowdata 是被插入行的数据数组。格式为name:value对,name在colModel定义

rowelem 是应答元素。xml为xml行,json为所有行数据。

注意:若gridview 为true,此事件不会发生

beforeRequest

none

此事件发生在任何数据请求前,但当datatype为function时不发生。

beforeSelectRow

rowid, e

此事件发生在用户点击行,选中该行前。

rowid 为行的ID,e为事件对象

该事件将返回布尔值true(行被选中)或false(行未被选中)。

gridComplete

none

此事件发生在表格所有数据装入和进程完成后。与datatype参数及排序分页等无关。

loadBeforeSend

xhr

此事件发生在XMLHttpRequest被发送前,用于修改对象属性(如headers)。

xhr 为XMLHttpRequest对象。

loadComplete

xhr

此事件发生在每个服务器请求后。xhr 为XMLHttpRequest对象。

loadError

xhr,

status,

error

此事件在请求失败时发生。事件有3个参数:

xhr 为XMLHttpRequest对象;

Satus为错误类型描述;error为错误对象。

onCellSelect

rowid,

iCol,

cellcontent,

e

此事件在点击表格特定单元格时发生。

rowid 为行ID;iCol 为列索引;

cellcontent 为单元格中内容;

e 点击事件对象。

ondblClickRow

rowid,

iRow,

iCol,

e

此事件发生在行双击后发生。

rowid为行ID;iRow为行索引(勿与rowid混淆);

iCol为列索引;

e 为事件对象。

onHeaderClick

gridstate

此事件发生在点击显示或隐藏表格后发生(hidegrid为true)

gridstate为表格状态,有visible和hidden两个值

onPaging

pgButton

此事件发生在点击page button后,填充数据前,及用户输入一个与当前页页码不同的新页码并回车时。参见pager

onRightClickRow

rowid,

iRow,

iCol,

e

此事件发生在右击行后。(此事件在Opera浏览器中无效)

rowid为行ID;iRow为行索引(勿与rowid混淆)

iCol为列索引;

e为事件对象。

onSelectAll

aRowids,

status

此事件发生在点击标题的复选框时发生(multiselect为true)

aRowids 选定行ID的数组(哪些行的复选框与头复选框相同)

status头复选框的选定的布尔值,true为选中,false为未选中

onSelectRow

rowid,

status

此事件发生在行点击后

rowid为行ID;

status 为选择状态。当multiselect为true时使用,当行被选中时返回true;为选中时返回false。

onSortCol

index,

iCol,

sortorder

此事件发生在列排序被点击之后,数据排序前

index 为colModel 中定义的索引名;iCol 为列的索引号

sortorder 为新的排序方式,asc或desc

resizeStart

event,

index

此事件发生在列被重新定义宽度时。

event 为事件对象;index 为在colModel 中定义的列索引。

resizeStop

newwidth, index

此事件发生在列被重新定义宽度后。

newwidth 为新的列宽度;index 为在colModel 中定义的列索引。

serializeGridData

postData

通过此事件可以序列化传递给ajax请求的的数据。此事件将返回一个以序列化的数据。若有自定义的数据(如JSON字符串、XML字符串)要发给服务器时,可使用该事件。

 

关于单元格编辑、子表的事件情参阅Additional Events

 

Methods(方法)

此节描述jqGrid的基本方法。一些方法要求装入附加模块。

jqGrid 3.6使用新的jQuery UI 库接口,请参阅以下内容和jqGrid事件。

 

网格相关的方法

jqGrid方法调用格式:

<script>

...

jQuery("#grid_id").jqGridMethod( parameter1,...parameterN );

...

</script>

这里:grid_id是表格的id;

jqGridMethod为jqGrid方法;

parameter1,…parameterN未参数列表

若方法未定义返回值,则返回到jqGrid对象,一组方法可以链接起来,例如

<script>

...

jQuery("#grid_id").setGridParam({...}).hideCol("somecol").trigger("reloadGrid");

...

</script>

或使用新的接口

<script>

...

jQuery("#grid_id").jqGrid('method', parameter1,...parameterN );

...

</script>

这里:  grid_id是表格的id;

Method是方法名;

parameter1,…parameterN是参数列表。

下面是实例:

<script>

...

jQuery("#grid_id").jqGrid('setGridParam',{...}).jqGrid('hideCol',"somecol").trigger("reloadGrid");

...

</script>

 

为使用新的API配置jqGrid

在安装过程中按此步骤做:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>My First Grid</title>

 

<link rel="stylesheet" type="text/css" media="screen"

href="css/ui-lightness/jquery-ui-1.7.1.custom.css" />

<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />

<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>

<script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>

<script type="text/javascript">

         jQuery.jgrid.no_legacy_api = true;

</script>

<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>

</head>

<body>

...

</body>

</html>

请注意调用:

<script type="text/javascript">

         jQuery.jgrid.no_legacy_api = true;

</script>

此行请在语言文件后,jqGrid的JS文件前

 

绿色的方法名要求特殊的程序。见方法的描述和例程

 

方法

参数

返回值

描述

addJSONData

data

none

用传递的data(数组)填充网格。用法:假如我们从web服务器获得的数据(jsonresponse),则

var mygrid = jQuery("#"+grid_id)[0];

var myjsongrid = eval("("+jsonresponse.responseText+")");

mygrid.addJSONData(myjsongrid);

myjsongrid = null;

jsonresponse =null;

将填充网格。当然,myjsongrid中的数据在传递到addJSONData之前可以被操作。

addRowData

rowid,

data,

position,

srcrowid

成功返回true,否则返回false。

插入一新行,rowid 为新行的ID,data(数组)为新行数据,position为新行插入的位置(first为表头,last为表尾,srcrowid指定偏移位置)。Data数组的格式为:: {name1:value1,name2: value2…} ,name为colModel指定的名称。

addXMLData

data

none

用传入的data填充网格。用法:假如我们从web服务器获得数据

 (xmlresponse),则

var mygrid = jQuery("#"+grid_id)[0];

mygrid.addXmlData(xmlresponse.responseXML);

将填充网格。当然,xmlresponse中的数据在传递到addXmlData之前可以被操作。

clearGridData

clearfooter

jqGrid object

清除网格中当前装入的数据,如果clearfooter 参数为true,则清除网格最后一行数据。

delRowData

rowid

成功返回true否则返回false

删除id = rowid的行。但不会删除服务器上的数据。

footerData

action,

data,

format

jqGrid对象

此方法获得或设置网格底部数据。见footerrow in options array。

action – 可设置为get(缺省)或set。 Get从底部返回name:value对象(name为colModel中的名称)。此时其他两个参数无效。

Set将data数组(对象)设置到底部。Data为colName中的名称和值对。

format – 缺省为true,表示设置时使用formatter (如果colModel中已定义)。false表示不使用formatter。

getCell

rowid,

iCol

单元格

内容

返回id = rowid行,column = iCol列的内容。 iCol可以是列的索引或colName中定义的名称。在编辑行或列时不能使用该方法,此时返回的不是当前值,而是原始值。

getCol

colname, returntype, mathoperation

数组或值

返回列值数组。

colname 可以是列的索引值或colModel中的名称。returntype 确定返回数组的类型,为false(缺省)时,数组只包含值。为true时为对象数组,格式为{id:rowid, value:cellvalue},id为行的id, cellvalue为单元格的值。如 [{id:1,value:1},{id:2,value:2}…]

mathoperation为可选参数,可以是sum、avg和count。若此参数进行了有效设置,则返回计算后的值,若无效,则返回空数组。

getDataIDs

none

数组

返回当前网格显示数据的ID数组。无数据时返回空数组。

getGridParam

name

混合值

返回请求的参数的值。name 是options 数组中的名称,若为设置则options被返回。详见options.

getInd

rowid,

rowcontent

mixed

rowcontent 设置为false(缺省)时,返回id= rowid行的索引值。若rowcontent设置为true,则返回整行。若为找到rowid则返回false。

getRowData

rowid or none

array{}

返回id = rowid行的数据数组。格式为name:value对,name为colModel中的名称,value为该行的值。未找到返回空数组。在行或列编辑时此方法不可用,此时返回的不是当前值,而是原始值。

若rowid为设置,则返回网格中所有数据数组。

hideCol

Colname或

[colnames]

jqGrid对象

根据colname或colnames数组给定的列名隐藏相应的列,列名必须是colModel中定义的名称。表格的宽度不会改变。

remapColumns

permutation, updateCells, keepHeader

none

调整列的显示顺序。permutation指定调整后的顺序,如 [1,0,2] 表示第一列在第二位显示。若updateCells 设置为true,列数据将重新排序。若keepHeader 设置为true,header单元格将重新排序。

resetSelection

none

jqGrid对象

选择(反选)行。多选择模式下同样可用。

setCaption

caption

jqGrid对象

设置新的表头文字。若表头为隐藏,将显示。

setCell

rowid,

colname,

data,

class,

properties

jqGrid对象

修改单元格的值、类或样式。其中:

Rowid为行ID;Colname为列名(可以是从0开始的列的索引值);

data 设置的内容,若为空,则不修改;class若为字符串,将使用addClass为列加入一个类,若为数组,将直接加入CSS中;properties 设置单元格属性。

setGridParam

object

jqGrid对象

设置一个特定的参数。

有些参数需trigger("reloadGrid")才能生效。注意这个方法可以覆盖事件。名称(name:value对)为选项数组中的名称。 选项信息参见options.

setGridHeight

new_height

jqGrid对象

动态设置网格高度。只能对单元格的高度进行设置而不是网格。new_height 可以是像素、百分比或auto。

setGridWidth

new_width,

shrink

jqGrid对象

动态设置网格宽度。new_width 为新宽度的像素值;

shrink(true或false)作用同shrinkToFit(见options)。若不设置,则使用shrinkToFit设置。

setLabel

colname,

data,

class,

properties

jqGrid对象

设置指定列标题文字、属性和类:

colname 为列名,可以是从0开始的列索引;

data 为标题文字,为空则不修改;

class 若为字符串,则为类名,若为数组,则直接写入CSS;

properties 为标题文字的属性。

setRowData

rowid,

data,

cssprop

成功返回true,否则返回false

更新rowid指定行的数据(使用数组)。

Data数组的格式为: {name1:value1,name2: value2…}。name为colModel中描述的名称,value为新值。cssprop若为字符串,将使用addClass为行添加类;若为数组对象,则直接加入CSS中。将data设置为false的情况下,可设置属性和类名

setSelection

rowid,

onselectrow

jqGrid对象

选择或反选id = rowid指定的行。若onselectrow设置为true (缺省) 则触发onSelectRow事件,否则不触发。

showCol

colname

jqGrid对象

显示colname 指定的列。若colname为字符串,只显示指定的列,若colname为数组 ["name1","name2"] 则显示name1和name2列,name必须是colModel中的名称。宽度不变。

trigger("reloadGrid")

none

none

按当前设置重新加载网格。若datatype为xml或json,将从服务器重新请求数据。此方法适用于一个已建立的网格。注意不会改变表头,也就是说改变colModel将没有作用。你可用gridUnload,使用新colModel来重新加载。

updateColumns

none

none

在拖拽表格时,同步网格宽度。用法:

var mygrid=jQuery("#grid_id")[0];

mygrid.updateColumns();

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    jqgrid 二次封装上传 jqgrid 5.0以上版本

    jqgrid二次封装,快速加载grid表格,不改变原有的使用习惯,增加一些默认处理逻辑 var grid = $.jqGrid.init({ url: "&lt;%=basePath%&gt;/component/config/select.html", add: {content:"&lt;%=basePath%&gt;/admin/...

    jqGrid手册教程一本通

    jqGrid 学习 事件 45 jqGrid 学习 数据 48 jqGrid 学习 ColModel API 55 jqGrid 学习 参数(2) 57 jqGrid 学习 jqGrid 参数 63 jqGrid 学习 第一个实例 63 使用 jqGrid 修改数据并检查 69"&gt;jqGrid 学习 原理 2 ...

    JqGrid中文API文档

    JqGrid中文API文档,包含了基础的JqGrid控件的属性方法事件等,有如何使用JqGrid的Demo.

    jqGrid帮助文档

    jqGrid帮助手册包含jqGrid参数、事件、方法、自定义按钮、搜索等

    jqgrid chm帮助文档

    网上找了一些jqgrid的帮助文档,但是没有找到合适的CHM型号的,所以自己的做了一个,刚刚有一些开始学的方法和事件,以后不断补充……

    jqgrid行编辑+动态为其他列赋值

    该方式是在jqgrid的列基础上进行编辑,为列添加保存事件,文本域和输入框采用blur失去焦点的方式进行保存,该方法含有点击为其他列赋值的功能。参考api列子并结合自己公司功能需求。

    jqgriddemo5.2.0

    jquery3.1.1+jqgriddemo5.2.0最新版本的表格控件。带隐藏列与自定义按钮事件这分花的绝对值,本人其他资源也是好资源哟

    jqgrid 3.6中文文档

    jqgrid 3.6中文配置,jqgrid的属性方法事件说明

    给jqGrid数据行添加修改和删除操作链接(之一)

    修改和删除链接 jqGrid完成的事件是gridComplete:function(){}(可以理解为数据都准备好了), 因为从数据库获取到的json数据没有带修改和删除两项,所以在之后的处理就是,在gridComplete事件中循环为每一行添加这两...

    jqgrid应用

    对于刚接触jquerygrid的人相当不错哦,各个按钮事件都有介绍

    jqGrid翻页时数据选中丢失问题的解决办法

    我在项目中使用jqGrid时...需要借助jqGrid的两个事件方法: /** multiselect为ture,且点击头部的checkbox时才会触发此事件。aRowids:所有选中行的id集合,为一个数组。status:boolean变量说明checkbox的选择状态,t

    Jqgrid之强大的表格插件应用

    jqGrid是一款基于jQuery...提供丰富的选项配置及方法事件接口。 支持表格排序,支持拖动列、隐藏列。 支持滚动加载数据。 支持实时编辑保存数据内容。 支持子表格及树形表格。 支持多语言。 最关键目前是免费的。 如何

    jquery最好的插件jqGrid-3.4.2 学习资源

    jqGrid-3.4.2是jquery最好的插件,最好的学习资源,有强大页面样式布局和丰富事件机制,有ajax处理机制,供于大家学习参考!

    jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码

    在使用JqGrid时,Table中最后一列是操作列,在操作列中每一行都有一个操作按钮,该操作按钮和下拉菜单非常类似,下面给大家分享jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码,非常不错,感兴趣的朋友...

    jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)

    jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信。 一、要引用的文件 要使用jqGrid,首先页面上要引入如下css与js文件。 1、css &lt;link href=/css/ui...

    jquery懒加载版本表格树GridTree.zip

    支持懒加载,解决了大数据量显示效率的问题; 提供表格树回调接口,方便实现自己的业务; 优化以前表格树代码,并且公开源码。

    jquery按键盘响应事件代码

    通过键盘可直接响应和按钮一样的事件

    jQuery右键菜单contextMenu使用实例

    在下面我们将设计一个场景,表格grid需要在每行实现鼠标右键,增加,删除,保存操作。grid我就用gridview了,随便用微软提供的样式,测试用例不用搞的多好看嘛,我也不是做美工了,哈哈,偷偷懒。...

Global site tag (gtag.js) - Google Analytics