jqGrid 属性、事件全集


以下是jqGrid 最常用的属性和事件,经过一段时间的整理,终于弄的差不多了。版权所有,转载请注明出处,向您的厚道致敬!谢谢!

  1 <script type="text/javascript">
  2     var lastsel;
  3     jQuery().ready(function () { 
  4         //父Grid(主Grid)
  5         jQuery("#list1").jqGrid({ 
  6             url:'server.php?q=1', 
  7             editurl:"server.php",
  8             datatype: "json", //数据类型 datatype: "local", datatype: "xml",
  9             colNames:['Actions','Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
 10             colModel:[ 
 11                 {name:'act',index:'act', width:75,sortable:false},
 12                 {name:'id',index:'id', width:75}, 
 13                 {name:'invdate',index:'invdate', width:90}, 
 14                 {name:'name',index:'name', width:100}, 
 15                 {name:'amount',index:'amount', width:80, align:"right"}, 
 16                 {name:'tax',index:'tax', width:80, align:"right"}, 
 17                 {name:'total',index:'total', width:80,align:"right"}, 
 18                 {name:'note',index:'note', width:150, sortable:false} 
 19             ],
 20             rowNum:10, //每页数据显示条数
 21             rowList:[10,20,30], //每页数据显示条数
 22             pager: jQuery('#pager1'), //Grid显示在id为pager1的div里面
 23             sortname: 'id', //根据ID排序
 24             viewrecords: true, //显示数据总记录数
 25             sortorder: "desc", //倒序
 26             hidegrid: false, //Grid是否隐藏
 27             autowidth: true, //自动列宽
 28             width: 500, //Grid 宽度
 29             height: 200, //行高 height: "100%",
 30             multiselect: true, //复选框
 31             recordpos: 'left', //总记录显示位置:居左
 32             mtype: "POST",
 33             pgbuttons: false, 
 34             pgtext: false, 
 35             pginput: false,
 36             multikey: "ctrlKey",
 37             onSortCol: function(name,index){ 
 38                 //点击排序列,根据哪列排序
 39                 alert("Column Name: "+name+" Column Index: "+index);
 40             }, 
 41             ondblClickRow: function(id){ 
 42                 //双击行
 43                 alert("You double click row with id: "+id);
 44             }, 
 45             onSelectRow: function(ids) { //单击选择行
 46                 if(ids == null) { 
 47                     ids=0; 
 48                     if(jQuery("#list10_d").jqGrid('getGridParam','records') >0 ) { 
 49                         jQuery("#list10_d").jqGrid('setGridParam',{url:"subgrid.php?q=1&id="+ids,page:1});
 50                         jQuery("#list10_d").jqGrid('setCaption',"Invoice Detail: "+ids) .trigger('reloadGrid'); 
 51                     } 
 52                 } else { 
 53                     jQuery("#list10_d").jqGrid('setGridParam',{url:"subgrid.php?q=1&id="+ids,page:1}); 
 54                     jQuery("#list10_d").jqGrid('setCaption',"Invoice Detail: "+ids) .trigger('reloadGrid'); 
 55                 } 
 56                 //点击Grid,将行变为编辑状态
 57                 if(id && id!==lastsel){
 58                     jQuery('#rowed3').jqGrid('restoreRow',lastsel);
 59                     jQuery('#rowed3').jqGrid('editRow',id,true); lastsel=id;
 60                 }
 61             },
 62             gridComplete: function(){
 63                 //在Grid的第一列(Actions)中添加按钮E、S、C,添加增、删、查、改按钮;
 64                 var ids = jQuery("#list1").jqGrid('getDataIDs');
 65                 for(var i=0;i < ids.length;i++){
 66                     var cl = ids[i];
 67                     be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=\"jQuery('#list1').editRow('"+cl+"');\" />";
 68                     se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#list1').saveRow('"+cl+"');\" />";
 69                     ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#list1').restoreRow('"+cl+"');\" />";
 70                     jQuery("#list1").jqGrid('setRowData',ids[i],{act:be+se+ce});
 71                 }
 72             },
 73             subGrid : true, //显示内部Grid(次Grid),单击行展开嵌套Grid
 74             subGridUrl: 'subgrid.php?q=2', //内部Grid URL
 75             subGridModel: [ { //内部Grid列
 76                 name : ['No','Item','Qty','Unit','Line Total'], 
 77                 width : [55,200,80,80,80],
 78                 params: ['invdate']    //嵌套Grid参数            
 79             } ],
 80             subGridRowExpanded: function(subgrid_id, row_id) { //Grid内部嵌套Grid
 81                 // we pass two parameters 
 82                 // subgrid_id is a id of the div tag created whitin a table data 
 83                 // the id of this elemenet is a combination of the "sg_" + id of the row 
 84                 // the row_id is the id of the row // If we wan to pass additinal parameters to the url we can use 
 85                 // a method getRowData(row_id) - which returns associative array in type name-value 
 86                 // here we can easy construct the flowing 
 87                 var subgrid_table_id, pager_id; 
 88                 subgrid_table_id = subgrid_id+"_t"; 
 89                 pager_id = "p_"+subgrid_table_id; 
 90                 $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>"); 
 91                 jQuery("#"+subgrid_table_id).jqGrid({ 
 92                     url:"subgrid.php?q=2&id="+row_id, 
 93                     datatype: "xml", 
 94                     colNames: ['No','Item','Qty','Unit','Line Total'], 
 95                     colModel: [ 
 96                         {name:"num",index:"num",width:80,key:true}, 
 97                         {name:"item",index:"item",width:130}, 
 98                         {name:"qty",index:"qty",width:70,align:"right"}, 
 99                         {name:"unit",index:"unit",width:70,align:"right"}, 
100                         {name:"total",index:"total",width:70,align:"right",sortable:false} 
101                     ], 
102                     rowNum:20, 
103                     pager: pager_id, 
104                     sortname: 'num', 
105                     sortorder: "asc", 
106                     height: '100%' //自动适应行高
107                 }); 
108                 jQuery("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false}); 
109             }, 
110             subGridRowColapsed: function(subgrid_id, row_id) { 
111                 // this function is called before removing the data 
112                 //var subgrid_table_id; 
113                 //subgrid_table_id = subgrid_id+"_t"; 
114                 //jQuery("#"+subgrid_table_id).remove(); 
115             },
116             loadComplete: function(){ //加载完成(初始加载),回调函数
117                 var ret; 
118                 alert("This function is executed immediately after\n data is loaded. We try to update data in row 13."); 
119                 ret = jQuery("#list15").jqGrid('getRowData',"13"); 
120                 if(ret.id == "13"){ 
121                     jQuery("#list15").jqGrid('setRowData',ret.id,{note:"<font color='red'>Row 13 is updated!</font>"}) 
122                 } 
123             },
124             caption:"Grid Example" //Grid名称
125         }, {singleselect: true, lazyload: true}).navGrid('#pager1',{edit:false,add:false,del:false}); 
126             //singleselect: true 设置jqGrid复选框为单选
127            //lazyload: true 设置jqGrid不自动加载
128         //jQuery("#list6").jqGrid('navGrid',"#pager6",{edit:false,add:false,del:false}); = .navGrid('#pager1',{edit:false,add:false,del:false}); 
129         //添加查询文本框
130         jQuery("#list7").jqGrid('navGrid','#pager7',{edit:false,add:false,del:false,refresh:false,searchtext:"Find"});
131         //查询和刷新按钮居右
132         jQuery("#list9").jqGrid('navGrid','#pager9',{add:false,del:false,edit:false,position:'right'}); 
133         //编辑行,添加Add、Edit、Save、Cancel按钮 //<script src="rowedex3.js" type="text/javascript"> </script>
134         jQuery("#43rowed3").jqGrid('inlineNav',"#p43rowed3");    //<table id="rowed3"></table> <div id="prowed3"></div>
135         
136         //子Grid
137         jQuery("#list10_d").jqGrid({ 
138             height: 100, 
139             url:'subgrid.php?q=1&id=0', 
140             datatype: "json", 
141             colNames:[
142                 'No','Item', 'Qty', 'Unit','Line Total'
143             ], 
144             colModel:[ 
145                 {name:'num',index:'num', width:55}, 
146                 {name:'item',index:'item', width:180}, 
147                 {name:'qty',index:'qty', width:80, align:"right"}, 
148                 {name:'unit',index:'unit', width:80, align:"right"}, 
149                 {name:'linetotal',index:'linetotal', width:80,align:"right", sortable:false, search:false} 
150             ], 
151             rowNum:5, 
152             rowList:[5,10,20], 
153             pager: '#pager10_d', 
154             sortname: 'item', 
155             viewrecords: true, 
156             sortorder: "asc", 
157             multiselect: true, 
158             caption:"Invoice Detail" 
159         }).navGrid('#pager10_d',{add:false,edit:false,del:false});
160         
161         jQuery("#a1").click( function(){ 
162             //获取Grid中选中的行id
163             var id = jQuery("#list5").jqGrid('getGridParam','selrow'); 
164             if (id) { 
165                 var ret = jQuery("#list5").jqGrid('getRowData',id); 
166                 alert("id="+ret.id+" invdate="+ret.invdate+"..."); 
167             } else { 
168                 alert("Please select row");
169             } 
170         }); 
171         jQuery("#a2").click( function(){ 
172             //删除第12行
173             var su=jQuery("#list5").jqGrid('delRowData',12); 
174             if(su) 
175                 alert("Succes. Write custom code to delete row from server"); 
176             else 
177                 alert("Allready deleted or not in list"); 
178         }); 
179         jQuery("#a3").click( function(){ 
180             //修改第11行
181             var su=jQuery("#list5").jqGrid('setRowData',11,{amount:"333.00",tax:"33.00",total:"366.00",note:"<img src='images/user1.gif'/>"}); 
182             if(su) 
183                 alert("Succes. Write custom code to update row in server"); 
184             else 
185                 alert("Can not update"); 
186         }); 
187         jQuery("#a4").click( function(){ 
188             //添加第99行(id为99的)
189             var datarow = {id:"99",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}; 
190             var su=jQuery("#list5").jqGrid('addRowData',99,datarow); 
191             if(su) 
192                 alert("Succes. Write custom code to add data in server"); 
193             else 
194                 alert("Can not update"); 
195         });
196         
197         jQuery("#s1").click( function() { 
198             //设置URL
199             jQuery("#list7").jqGrid('setGridParam',{url:"server.php?q=2"}).trigger("reloadGrid");
200         }); 
201         jQuery("#s2").click( function() { 
202             //设置排序列
203             jQuery("#list7").jqGrid('setGridParam',{sortname:"amount",sortorder:"asc"}).trigger("reloadGrid"); 
204         }); 
205         jQuery("#s3").click( function() { 
206             //设置升序或倒序
207             var so = jQuery("#list7").jqGrid('getGridParam','sortorder'); 
208             so = so=="asc"?"desc":"asc"; 
209             jQuery("#list7").jqGrid('setGridParam',{sortorder:so}).trigger("reloadGrid"); 
210         }); 
211         jQuery("#s4").click( function() { 
212             //跳转到第二页
213             jQuery("#list7").jqGrid('setGridParam',{page:2}).trigger("reloadGrid"); 
214         }); 
215         jQuery("#s5").click( function() { 
216             //设置每页显示15行
217             jQuery("#list7").jqGrid('setGridParam',{rowNum:15}).trigger("reloadGrid"); 
218         }); 
219         jQuery("#s6").click( function() { 
220             //设置URL和数据格式
221             jQuery("#list7").jqGrid('setGridParam',{url:"server.php?q=1",datatype:"xml"}).trigger("reloadGrid"); 
222         }); 
223         jQuery("#s7").click( function() { 
224             //设置Grid的名称
225             jQuery("#list7").jqGrid('setCaption',"New Caption"); 
226         }); 
227         jQuery("#s8").click( function() { 
228             //设置Grid排序字段,根据名称排序
229             jQuery("#list7").jqGrid('sortGrid',"name",false); 
230         });
231         jQuery("#m1").click( function() { 
232             //获取复选框被选中的id
233             var s = jQuery("#list9").jqGrid('getGridParam','selarrrow'); 
234             alert(s); 
235         }); 
236         jQuery("#m1s").click( function() { 
237             //设置选中第13行
238             jQuery("#list9").jqGrid('setSelection',"13"); 
239         });
240         jQuery("#ms1").click( function() { 
241             var s = jQuery("#list10_d").jqGrid('getGridParam','selarrrow'); 
242             alert(s); 
243         });
244         
245         //Grid 查询
246         var timeoutHnd; 
247         var flAuto = false; 
248         function doSearch(ev){ 
249             if(!flAuto) 
250                 return; 
251             // var elem = ev.target||ev.srcElement; 
252             if(timeoutHnd) 
253                 clearTimeout(timeoutHnd) 
254             timeoutHnd = setTimeout(gridReload,500) 
255         } 
256         function gridReload(){ 
257             var nm_mask = jQuery("#item_nm").val(); 
258             var cd_mask = jQuery("#search_cd").val(); 
259             jQuery("#bigset").jqGrid('setGridParam',{url:"bigset.php?nm_mask="+nm_mask+"&cd_mask="+cd_mask,page:1}).trigger("reloadGrid"); 
260         } 
261         function enableAutosubmit(state){ 
262             flAuto = state; 
263             jQuery("#submitButton").attr("disabled",state); 
264         }
265         
266         jQuery("#cm1").click( function() { 
267             //显示选中行
268             var s; 
269             s = jQuery("#list13").jqGrid('getGridParam','selarrrow'); 
270             alert(s); 
271         }); 
272         jQuery("#cm1s").click( function() { 
273             //选中编号为13的行
274             jQuery("#list13").jqGrid('setSelection',"13"); 
275         }); 
276         jQuery("#list13").jqGrid('navGrid','#pager13',{add:false,edit:false,del:false}, 
277             {}, // edit parameters 
278             {}, // add parameters 
279             {reloadAfterSubmit:false} //delete parameters 
280         );
281         
282         jQuery("#sids").click( function() { 
283             //获取Grid中当页的所有ID
284             alert("Id's of Grid: \n"+jQuery("#list15").jqGrid('getDataIDs')); 
285         });
286         
287         jQuery("#hc").click( function() { 
288             //隐藏tax列
289             jQuery("#list17").jqGrid('navGrid','hideCol',"tax"); 
290         }); 
291         jQuery("#sc").click( function() { 
292             //显示tax列
293             jQuery("#list17").jqGrid('navGrid','showCol',"tax"); 
294         });
295         jQuery("#ed1").click( function() {
296             //编辑第13行
297             jQuery("#rowed1").jqGrid('editRow',"13");
298             this.disabled = 'true';
299             jQuery("#sved1,#cned1").attr("disabled",false); 
300         });
301         jQuery("#sved1").click( function() {
302             //保存第13行
303             jQuery("#rowed1").jqGrid('saveRow',"13");
304             jQuery("#sved1,#cned1").attr("disabled",true);
305             jQuery("#ed1").attr("disabled",false); 
306         });
307         jQuery("#cned1").click( function() {
308             //取消编辑第13行
309             jQuery("#rowed1").jqGrid('restoreRow',"13");
310             jQuery("#sved1,#cned1").attr("disabled",true);
311             jQuery("#ed1").attr("disabled",false);
312         });
313     })
314 </script>
315 
316 //本地数组数据:datatype: "local",
317 var mydata = [ 
318         {id:"1",invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"},
319                 {id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"},
320                 {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
321                 {id:"4",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
322                 {id:"5",invdate:"2007-10-05",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
323                 {id:"6",invdate:"2007-09-06",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
324                 {id:"7",invdate:"2007-10-04",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
325                 {id:"8",invdate:"2007-10-03",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
326                 {id:"9",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"} 
327     ]; 
328 for(var i=0;i<=mydata.length;i++) 
329     jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]);

 

  1 <html>
  2  ...
  3  <table id="list1"></table>
  4  <div id="pager1"></div>
  5  ... 
  6  <table id="list5"></table> 
  7  <div id="pager5"></div> <br /> 
  8  <a href="#" id="a1">Get data from selected row</a> 
  9  <br /> 
 10  <a href="#" id="a2">Delete row 2</a> 
 11  <br /> 
 12  <a href="#" id="a3">Update amounts in row 1</a> 
 13  <br /> 
 14  <a href="#" id="a4">Add row with id 99</a>
 15  ... 
 16  <table id="list6"></table> 
 17  <div id="pager6"></div> <br /> 
 18  <a href="javascript:void(0)" id="g1" onclick="alert(jQuery('#list6').jqGrid('getGridParam','url'));">Get url</a> 
 19  <br /> 
 20  <a href="javascript:void(0)" id="g2" onclick="alert(jQuery('#list6').jqGrid('getGridParam','sortname'));">Get Sort Name</a> 
 21  <br /> 
 22  <a href="javascript:void(0)" id="g3" onclick="alert(jQuery('#list6')jqGrid('getGridParam','sortorder'));">Get Sort Order</a> 
 23  <br /> 
 24  <a href="javascript:void(0)" id="g4" onclick="alert(jQuery('#list6')jqGrid('getGridParam','selrow'));">Get Selected Row</a> 
 25  <br /> 
 26  <a href="javascript:void(0)" id="g5" onclick="alert(jQuery('#list6')jqGrid('getGridParam','page'));">Get Current Page</a> 
 27  <br /> 
 28  <a href="javascript:void(0)" id="g6" onclick="alert(jQuery('#list6').jqGrid('getGridParam','rowNum'));">Get Number of Rows requested</a> 
 29  <br /> 
 30  <a href="javascript:void(0)" id="g7" onclick="alert('See Multi select rows example');">Get Selected Rows</a> 
 31  <br /> 
 32  <a href="javascript:void(0)" id="g8" onclick="alert(jQuery('#list6').jqGrid('getGridParam','datatype'));">Get Data Type requested</a> 
 33  <br /> 
 34  <a href="javascript:void(0)" id="g9" onclick="alert(jQuery('#list6').jqGrid('getGridParam','records'));">Get number of records in Grid</a>
 35  ... 
 36  <table id="list7"></table> 
 37  <div id="pager7"></div> 
 38  <br /> 
 39  <a href="javascript:void(0)" id="s1">Set new url</a> 
 40  <br /> 
 41  <a href="javascript:void(0)" id="s2">Set Sort to amount column</a> 
 42  <br /> 
 43  <a href="javascript:void(0)" id="s3" >Set Sort new Order</a> 
 44  <br /> 
 45  <a href="javascript:void(0)" id="s4">Set to view second Page</a> 
 46  <br /> 
 47  <a href="javascript:void(0)" id="s5">Set new Number of Rows(15)</a> 
 48  <br /> 
 49  <a href="javascript:void(0)" id="s6" >Set Data Type from json to xml</a>
 50   ... 
 51   <table id="list9"></table> 
 52   <div id="pager9"></div> 
 53   <br /> 
 54   <a href="javascript:void(0)" id="m1">Get Selected id's</a> 
 55   <a href="javascript:void(0)" id="m1s">Select(Unselect) row 13</a>
 56   ... 
 57   Invoice Header 
 58   <table id="list10"></table> 
 59   <div id="pager10"></div> 
 60   <br /> 
 61   Invoice Detail 
 62   <table id="list10_d"></table> 
 63   <div id="pager10_d"></div> 
 64   <a href="javascript:void(0)" id="ms1">Get Selected id's</a>
 65   ... 
 66   <table id="list11">
 67   </table> <div id="pager11"></div> 
 68   <script src="subgrid.js" type="text/javascript"> </script>
 69   
 70   ... 
 71   <div class="h">Search By:</div> 
 72   <div> 
 73     <input type="checkbox" id="autosearch" onclick="enableAutosubmit(this.checked)"> Enable Autosearch 
 74     <br/> 
 75     Code
 76     <br /> 
 77     <input type="text" id="search_cd" onkeydown="doSearch(arguments[0]||event)" /> 
 78   </div> 
 79   <div> Name<br> 
 80     <input type="text" id="item" onkeydown="doSearch(arguments[0]||event)" /> 
 81     <button onclick="gridReload()" id="submitButton" style="margin-left:30px;">Search</button> 
 82   </div> 
 83   <br /> 
 84   <table id="bigset"></table> 
 85   <div id="pagerb"></div> 
 86   <script src="bigset.js" type="text/javascript"> </script>
 87   
 88   ... 
 89   <table id="list13"></table> 
 90   <div id="pager13"></div> <br /> 
 91   <a href="javascript:void(0)" id="cm1">Get Selected id's</a> 
 92   <a href="javascript:void(0)" id="cm1s">Select(Unselect) row 13</a> 
 93   <script src="cmultiex.js" type="text/javascript"> </script>
 94   
 95   ... 
 96   <table id="list15"></table> 
 97   <div id="pager15"></div> 
 98   <a href="javascript:void(0)" id="sids">Get Grid id's</a>
 99   <br/>
100    
101   ... 
102   <table id="list17"></table> 
103   <div id="pager17"></div> 
104   <a href="javascript:void(0)" id="hc">Hide column Tax</a>
105   <br/> 
106   <a href="javascript:void(0)" id="sc">Show column Tax</a>
107   
108    ...
109    <table id="rowed1"></table>
110    <div id="prowed1"></div>
111    <br />
112    <input type="BUTTON" id="ed1" value="Edit row 13" />
113    <input type="BUTTON" id="sved1" disabled='true' value="Save row 13" />
114    <input type="BUTTON" id="cned1" disabled='true' value="Cancel Save" />
115    <script src="rowedex1.js" type="text/javascript"> </script>
116 </html>

本文出处:http://blog.csdn.net/a416090287/article/details/8334070

感谢:

Rosanu


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM