jqGrid的使用笔记:5. 事件

1. 事件举例:
var lastSel;
jQuery("#gridid").jqGrid({
...
   onSelectRow: function(id){ 
      if(id && id!==lastSel){ 
         jQuery('#gridid').restoreRow(lastSel); 
         lastSel=id; 
      } 
      jQuery('#gridid').editRow(id, true); 
   },
...
});

以上代码中,onSelectRow就是一个事件,表示当一个行被选定时,需要自定义的操作。

2. 事件列表
事件 参数 描述
afterInsertRow rowid,rowdata,rowelem rowid: 输入行的id号,rowdata: 输入行的数组数据,数组形式为“类型名称:值", 名称是colModel的名称。rowelem: response返回的元素,如果是xml则是行的xml元素,或者是json(行的json数据元素)。备注:gridview = true.
beforeProcessing data, status, xhr data根据datatype参数值进行整合,如果datatype是json,data是javascript对象。
beforeRequest none 如果datatype=function,则不触发此事件。如果事件返回false,则request不送达服务端
beforeSelectRow rowid, e rowid:行id号,e:事件对象。返回值是布尔值(true / false)。如果返回true,则行被选择,否则,行不被选择,并且不触发任何自定义的操作。
gridComplete none
loadBeforeSend xhr,settings 返回false则取消request
loadComplete data 根据datatype的参数确定返回的data.
loadError xhr,status,error xhr: XMLHttpRequest对象, status: 描述错误的字符串,error:发生的错误。
onCellSelect rowid,iCol, cellcontent,e rowid:行id号,iCol:cell索引号,cellcontent:cell的内容,e:点击时的事件对象。(备注:当cell编辑模式可用时引发该事件)。
ondblClickRow rowid, iRow, iCol, e 双击行时触发该事件。rowid,iRow:行的索引号,iCol:cell的索引号,e:事件对象。
onHeaderClick gridstate hidegrid=true. gridstate: grid的状态:可见 / 隐藏
onPaging pgButton 点击分页按钮时触发事件。如果事件返回“停止”,则可自定义分页功能。
onRightClickRow rowid, iRow, iCol, e 备注:改事件不能被Opera浏览器触发。
onSelectAll aRowids,status multiselect=true(多选),aRowids:行id的数组,status:行头选择框状态,true被选,false未选。备注:aRowids包含所有被选或未选的id.
onSelectRow rowid,status,e rowid,status:选择状态,e. 当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 返回被序列的数据。当一系列数据(json,xml字符串等)需要传递给服务端时使用该方法。

其它的是Cell编辑的方法,subGrid方法等。

3. v4.3.2中的新方法:
事件 参数 描述
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 form:jQuery对象表单,oper:操作类型,比如“添加”或“编辑”。
jqGridAddEditBeforeShowForm
jqGridAddEditAfterShowForm
jqGridAddEditInitializeForm
jqGridAddEditClickPgButtons
jqGridAddEditAfterClickPgButtons
jqGridInlineEditRow
jqGridInlineAfterSaveRow
jqGridInlineSuccessSaveRow
jqGridInlineErrorSaveRow
jqGridInlineAfterRestoreRow
jqGridBeforeEditCell
jqGridAfterEditCell
jqGridSelectCell
jqGridBeforeSaveCell
jqGridBeforeSubmitCell
jqGridAfterSubmitCell
jqGridAfterSaveCell
jqGridErrorCell
jqGridAfterRestoreCell
jqGridSubGridBeforeExpand
jqGridSubGridRowExpanded
jqGridSubGridRowColapsed
jqGridGroupingClickGroup
jqGridImportComplete


运行次序
  • beforeRequest
  • loadBeforeSend
  • serializeGridData
  • loadError (如果发生错误,则运行该方法,后面的方法不运行。如果没有错误,则跳过此方法运行后面的方法。)
  • beforeProcessing
  • gridComplete
  • loadComplete

你可能感兴趣的:(JavaScript,jquery,json,Ajax,xml)