jqGrid事件
jqGrid事件在配置jqGrid时作为属性传入,例如
var lastSel; jQuery("#gridid").jqGrid({ //... onSelectRow: function(id){ if(id && id!==lastSel){ jQuery('#gridid').restoreRow(lastSel); lastSel=id; } jQuery('#gridid').editRow(id, true); }, //... });
上面这个示例指定了当行被选中时需要出发的事件。你可以添加一些附加操作通过下面列出的事件
3.6.3+版本中每个事件体this对象为grid的引用(DOM对象,不是jquery包装好的),所以你可以通过$(this)得到jqGrid实例引用,和上面的代码是等同的。
var lastSel; jQuery("#gridid").jqGrid({ ... onSelectRow: function(id){ if(id && id!==lastSel){ jQuery(this).restoreRow(lastSel); lastSel=id; } jQuery(this).editRow(id, true); }, ... });
jqGrid事件
事件名称 | 参数 | 描述 |
---|---|---|
afterInsertRow |
rowid rowdata rowelem |
插入某行数据后触发。 rowid :插入行的id rowdata :插入的行的数据,json格式的键值对,键名称为colModel定义的name值。 rowelem :响应的元素。如果数据为xml则为xml的row节点,为json则为包含此行中所有数据对应json行节点。)rowdata为rowelem的子集) 注意:gridview设置为true时不会触发此事件 |
beforeProcessing | data, status, xhr | 处理服务器端响应的数据前触发。data参数格式取决于datatype设置的值。如datatype为json,那么data为javascript 对象 |
beforeRequest | none | 在发送ajax请求数据前触发。datatype设置为function时不触发。返回false阻止ajax请求服务器。 |
beforeSelectRow | rowid, e |
点击行,但是未选中行前触发。 rowid :此行数据的ID值 e :event object 这个事件需要返回true/false值。返回true将会选中此行,返回false取消选中并且定义的其他后续事件(如onSelectRow等。)都不会执行。 |
gridComplete | none | 在所有数据加载进入表格和所有处理已经完成后触发。在排序,分页等操作后也会触发。 |
loadBeforeSend |
xhr, settings |
在ajax发送请求前执行,用于修改 XMLHttpRequest对象(xhr) ,例如修改自定义请求头等,返回false取消ajax请求。 |
loadComplete | data |
ajax请求返回后立刻触发。 |
loadError |
xhr, status, error |
ajax请求失败触发。此事件有3个参数 xhr:ajax对象 status:错误信息 error:捕获的错误对象(可选) |
onCellSelect |
rowid, iCol, cellcontent, e |
点击单元格时触发 rowid :此行数据id iCol :单元格所在列号 cellcontent :单元格内容【注意是单元格的innerHTML,如果配置了colModel中formetter,返回的时格式化后html代码什么的】 e :事件对象 (没有启用单元格编辑模块,否则无效将被禁用) |
ondblClickRow |
rowid, iRow, iCol, e |
行被双击后触发 rowid :此行数据id iRow :单元格所在行的行号(注意不要和rowid搞混) iCol :单元格处于行中的列号 e :事件对象 iRow,iCol详细介绍参考:单元格编辑 |
onHeaderClick | gridstate |
点击标题隐藏显示表格的箭头时触发(jqGrid的hidegrid配置为true) gridstate :当前表格状态,visible 或者 hidden |
onPaging | pgButton |
点击分页按钮,未添加数据前触发。也适用于在页数显示控件内输入新页面回车加载数据和通过select下拉框改变请求数量。此事件只有一个参数pgButton,详情参阅: jqGrid分页pager配置 如果事件返回'stop'将会停止处理,你可以定义自己的分页逻辑。 |
onRightClickRow |
rowid, iRow, iCol, e |
右键点击航时触发。 rowid :此行数据id iRow :单元格所在行的行号(注意不要和rowid搞混) iCol :单元格处于行中的列号 e :事件对象 注意:这个事件不支持opera浏览器,因为opera不支持oncontextmenu事件。 |
onSelectAll |
aRowids, status |
配置multiselect为true后,点击表头的checkbox全选控件时触发。 aRowids :当前显示的所有行对应的数据id数组 status :布尔值,表头全选checkbox的状态,选中为true,否则为false 注意:aRowids不管表头checkbox是否勾选,都会包含所有行对应的数据id数组 |
onSelectRow |
rowid, status, e |
在行点击选中后触发,可以通过beforeSelectRow返回值设置是否选中 rowid :此行数据的ID值 status :此行状态,true选中,false未选中。 e :事件对象 这个事件在multiselect设置为true时比较有用 |
onSortCol |
index, iCol, sortorder |
在点击可排序的表头但是未对数据排序前执行Raised immediately after sortable column was clicked and before sorting the data. index :colModel中配置的index值 iCol :单元格处于行中的列号 sortorder :升序或者降序('asc' 或者 'desc') 返回'stop'阻止操作执行,可以定义自己的排序逻辑。 |
resizeStart | event, index |
修改列宽前触发 event :事件对象 index:colModel中配置的index值 |
resizeStop | newwidth, index |
修改列宽结束后触发。 newwidth :新的列宽 index:colModel中配置的index值 |
serializeGridData | postData |
设置此事件,可以序列化ajax需要发送的数据。事件需要返回序列化好的数据。可以用于发送自定义数据到服务器,例如json/xml格式的字符串等。 postData作为事件参数。 |
属于单元格编辑和subGrid 的附加事件请参阅各自的详细介绍
事件执行顺序
发送ajax请求时的事件执行顺序
-
beforeRequest
-
loadBeforeSend
-
serializeGridData
-
loadError (如果服务器发生错误,5~7的事件不会执行。如果没有错误,4不执行,跳到5继续往下执行)
-
beforeProcessing
-
gridComplete
-
loadComplete
jqGrid v4.3.2+新增事件
Event | Parameters | Description |
---|---|---|
jqGridResizeStart | … | … |
jqGridResizeStop | … | … |
jqGridAfterInsertRow | … | … |
jqGridGridComplete | none | … |
jqGridAfterGridComplete | none | … |
jqGridBeforeRequest | none | … |
jqGridLoadComplete | … | … |
jqGridAfterLoadComplete | … | … |
jqGridSortCol | … | … |
jqGridSelectAll | … | … |
jqGridBeforeSelectRow | … | … |
jqGridCellSelect | … | … |
jqGridDblClickRow | … | … |
jqGridRightClickRow | … | … |
jqGridHeaderClick | … | … |
jqGridSelectRow | … | … |
jqGridShowHideCol | … | … |
jqGridRemapColumns | … | … |
jqGridKeyLeft | … | … |
jqGridKeyRight | … | … |
jqGridKeyEnter | … | … |
jqGridKeySpace | … | … |
jqGridToolbarBeforeSearch | none | … |
reloadGrid | … | … |
jqGridToolbarAfterSearch | none | … |
jqGridToolbarBeforeClear | none | … |
jqGridToolbarAfterClear | none | … |
jqGridFilterBeforeShow | … | … |
jqGridFilterAfterShow | … | … |
jqGridFilterInitialize | … | … |
jqGridFilterSearch | none | … |
jqGridFilterReset | none | … |
jqGridAddEditBeforeCheckValues | … | … |
jqGridAddEditClickSubmit | … | … |
jqGridAddEditBeforeSubmit | … | … |
jqGridAddEditErrorTextFormat | … | … |
jqGridAddEditAfterSubmit | … | … |
jqGridAddEditAfterComplete | … | … |
jqGridAddEditBeforeInitData |
form, oper |
此事件在 dataInit 方法 form :jqGrid编辑添加操作浮动表单对象(jQuery object) oper :操作类型, “add” 或者 “edit” |
jqGridAddEditBeforeShowForm | … | … |
jqGridAddEditAfterShowForm | … | … |
jqGridAddEditInitializeForm | … | … |
jqGridAddEditClickPgButtons | … | … |
jqGridAddEditAfterClickPgButtons | … | … |
jqGridInlineEditRow | … | … |
jqGridInlineAfterSaveRow | … | … |
jqGridInlineSuccessSaveRow | … | … |
jqGridInlineErrorSaveRow | … | … |
jqGridInlineAfterRestoreRow | … | … |
jqGridBeforeEditCell | … | … |
jqGridAfterEditCell | … | … |
jqGridSelectCell | … | … |
jqGridBeforeSaveCell | … | … |
jqGridBeforeSubmitCell | … | … |
jqGridAfterSubmitCell | … | … |
jqGridAfterSaveCell | … | … |
jqGridErrorCell | … | … |
jqGridAfterRestoreCell | … | … |
jqGridSubGridBeforeExpand | … | … |
jqGridSubGridRowExpanded | … | … |
jqGridSubGridRowColapsed | … | … |
jqGridGroupingClickGroup | … | … |
jqGridImportComplete | … | … |
来源:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events
加支付宝好友偷能量挖...
原创文章,转载请注明出处:jqGrid事件