天天看點

jqGrid的使用筆記:5. 事件

[b]1. 事件舉例:[/b]

以上代碼中,onSelectRow就是一個事件,表示當一個行被標明時,需要自定義的操作。

[b]2. 事件清單[/b]

[table]

|[b]事件[/b]|[b]參數[/b]|[b]描述[/b]|

|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字元串等)需要傳遞給服務端時使用該方法。|

[/table]

其它的是Cell編輯的方法,subGrid方法等。

[b]3. v4.3.2中的新方法:[/b]

[table]

|[b]事件[/b]|[b]參數[/b]|[b]描述[/b]|

|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|…|…|

[/table]

[b]運作次序[/b]

[list]

[*]beforeRequest

[*]loadBeforeSend

[*]serializeGridData

[*]loadError (如果發生錯誤,則運作該方法,後面的方法不運作。如果沒有錯誤,則跳過此方法運作後面的方法。)

[*]beforeProcessing

[*]gridComplete

[*]loadComplete

[/list]

繼續閱讀