【Jquery系列】JqGrid参数详解

jqgrid参数中文说明 Jqgrid网上的api很少而且基本上都是英文的,中文的特别少,这个是jqgrid的中文使用说明,上面罗列的jqgrid的说明比较详细 立即下载
AI摘要

本文主要分享JqGrid插件参数问题,包括初始化参数、ColModel参数等。介绍了jqGrid支持的json等数据类型,以及jsonReader的设置。还阐述了jqGrid的事件、方法、翻页操作、自定义按钮、数据格式化、搜索操作等内容,并给出了相关代码示例。

1   概述

 本篇文章主要与大家分享JqGrid插件参数问题。

2   参数详解

 2.1 初始化参数

2.2  ColModel参数

3   json数据

jqGrid可支持的数据类型:xml、json、jsonp、local or clientSide、xmlstring、jsonstring 、script、function (…)。

Json数据

需要定义jsonReader来跟服务器端返回的数据做对应,其默认值:

 1 jsonReader : {   
 2 
 3      root: "rows",
 4        
 5      page: "page",
 6        
 7      total: "total",
 8        
 9      records: "records",
10        
11      repeatitems: true,
12        
13      cell: "cell", 
14        
15      id: "id",
16         
17      userdata: "userdata",
18        
19      subgrid: {
20      
21          root:"rows",
22         
23         repeatitems: true,
24            
25            cell:"cell"
26          
27      }  

这样服务器端返回的数据格式:

 1 {   
 2 
 3    total: "xxx",   
 4    page: "yyy",   
 5 
 6    records: "zzz",  
 7 
 8    rows : [  
 9 
10      {id:"1", cell:["cell11", "cell12", "cell13"]},  
11 
12      {id:"2", cell:["cell21", "cell22", "cell23"]},  
13 
14        ...  
15 
16    ]  
17 
18 }    

 1 jQuery("#gridid").jqGrid({  
 2 
 3 ...  
 4 
 5     jsonReader : {  
 6 
 7         root:"invdata",  
 8 
 9         page: "currpage",  
10 
11         total: "totalpages",  
12 
13         records: "totalrecords",  
14 
15         cell: "invrow"  
16 
17     },  
18 
19 ...  
20 
21 }); 
22 
23     totalpages: "xxx",   
24 
25     currpage: "yyy",  
26 
27     totalrecords: "zzz",  
28 
29     invdata : [  
30 
31         {id:"1", invrow:["cell11", "cell12", "cell13"]},  
32 
33         {id:"2", invrow:["cell21", "cell22", "cell23"]},  
34 
35         ...  
36 
37     ]  

repeatitems :指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字

 1 jsonReader : {  
 2 
 3     root:"invdata",  
 4 
 5     page: "currpage",  
 6 
 7     total: "totalpages",  
 8 
 9     records: "totalrecords",  
10 
11     repeatitems: false,  
12 
13     id: "0"  
14 
15 }
16 
17 totalpages: "xxx",   
18 
19 currpage: "yyy",  
20 
21 totalrecords: "zzz",  
22 
23 invdata : [  
24 
25     {invid:"1",invdate:"cell11", amount:"cell12", tax:"cell13", total:"1234", note:"somenote"},  
26 
27     {invid:"2",invdate:"cell21", amount:"cell22", tax:"cell23", total:"2345", note:"some note"},  
28 
29     ...  
30 
31 ] 

此例中,id属性值为“invid”。 一旦当此属性设为false时,我们就不必把所有在colModel定义的name值都赋值。因为是按name来进行搜索元素的,所以他的排序也不是按colModel中指定的排序结果。

用户数据(user data) 在某些情况下,我们需要从服务器端返回一些参数但并不想直接把他们显示到表格中,而是想在别的地方显示,那么我们就需要用到userdata标签

 1 jsonReader: {  
 2 
 3     ...  
 4 
 5     userdata: "userdata",  
 6 
 7     ...  
 8 
 9 } 
10 
11 {   
12 
13     total: "xxx",   
14 
15     page: "yyy",   
16 
17     records: "zzz",   
18 
19     userdata: {totalinvoice:240.00, tax:40.00},   
20 
21     rows : [   
22 
23         {id:"1", cell:["cell11", "cell12", "cell13"]},   
24 
25         {id:"2", cell:["cell21", "cell22", "cell23"]},   
26 
27         ...   
28 
29     ]   
30 
31 }

在客户端我们可以有下面两种方法得到这些额外信息:

1.jQuery("grid_id").getGridParam('userData') 

2.jQuery("grid_id").getUserData()

3.jQuery("grid_id").getUserDataItem( key )

4   jqGrid事件

使用方法

 1 var lastSel;  
 2 
 3 jQuery("#gridid").jqGrid({  
 4 
 5 ...  
 6 
 7     onSelectRow: function(id){   
 8 
 9         if(id && id!==lastSel){   
10 
11             jQuery('#gridid').restoreRow(lastSel);   
12 
13             lastSel=id;   
14 
15         }   
16 
17         jQuery('#gridid').editRow(id, true);   
18 
19     },  
20 
21 ...  
22 
23 })
 1 var lastSel;  
 2 
 3 jQuery("#gridid").jqGrid({  
 4 
 5 ...  
 6 
 7     onSelectRow: function(id){   
 8 
 9         if(id && id!==lastSel){   
10 
11             jQuery('#gridid').restoreRow(lastSel);   
12 
13             lastSel=id;   
14 
15         }   
16 
17         jQuery('#gridid').editRow(id, true);   
18 
19     },  
20 
21 ...  
22 
23 })

5   jqGrid方法

 jqGrid的方法,从3.6开始已经完全兼容jQuery UI库。 

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

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

如果使用新的API: 

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

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

jqGrid配置使用新的api

 1 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
 2 
 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
 4 
 5 <head>  
 6 
 7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
 8 
 9 <title>My First Grid</title>  
10 
11    
12 
13 <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" />  
14 
15 <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />  
16 
17    
18 
19 <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>  
20 
21 <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>  
22 
23 <script type="text/javascript">  
24 
25     jQuery.jgrid.no_legacy_api = true;  
26 
27 </script>  
28 
29 <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>  
30 
31    
32 
33 </head>  
34 
35 <body>  
36 
37 ...  
38 
39 </body>  
40 
41 </html>

jqGrid的通用方法和设置 

这些方法并不和jqGrid对象绑定,可以随意使用: 

jQuery.jgrid.jqGridFunction( parameter1,...parameterN );

6   翻页操作

 jqGrid的翻页要定义在html里,通常是在grid的下面,且是一个div对象:

 1 <table id="list"></table>   
 2 
 3    <div id="gridpager"></div>
 4 
 5 jQuery("#grid_id").jqGrid({  
 6 
 7 ...  
 8 
 9    pager : '#gridpager',  
10 
11 ...  
12 
13 });

不必给翻页设置任何的css属性。在jqGrid里定义的翻页可以是::pager : '#gridpager', pager : 'gridpager' or pager : jQuery('#gridpager'). 推荐使用前两个,当使用其他方式时jqGrid的导入导出功能时会引起错误。

导航栏的属性:

 1 $.jgrid = {  
 2 
 3     defaults : {  
 4 
 5         recordtext: "View {0} - {1} of {2}",  
 6 
 7             emptyrecords: "No records to view",  
 8 
 9         loadtext: "Loading...",  
10 
11         pgtext : "Page {0} of {1}"  
12 
13     },  
14 
15 ...  
16 
17 }

如果想改变这些设置:

 1 1.    jQuery.extend(jQuery.jgrid.defaults,{emptyrecords: "Nothing to display",...});
 2 
 3 2.    jQuery("#grid_id").jqGrid({  
 4 
 5         ...  
 6 
 7         pager : '#gridpager',  
 8 
 9         emptyrecords: "Nothing to display",  
10 
11         ...  
12 
13     });

jQuery("#grid_id").setGridParam({rowNum:10}).trigger("reloadGrid"); 

  1 <body>  
  2 
  3 ...  
  4 
  5    <table id="list"></table>   
  6 
  7    <div id="gridpager"></div>   
  8 
  9 ...  
 10 
 11 </body>
 12 
 13  
 14 
 15 jQuery("#grid_id").jqGrid({  
 16 
 17 ...  
 18 
 19    pager : '#gridpager',  
 20 
 21 ...  
 22 
 23 });  
 24 
 25 jQuery("#grid_id").navGrid('#gridpager',{parameters},prmEdit, prmAdd, prmDel, prmSearch, prmView);  
 26 
 27  
 28 
 29 jQuery("#grid_id").jqGrid({  
 30 
 31 ...  
 32 
 33    pager : '#gridpager',  
 34 
 35 ...  
 36 
 37 });  
 38 
 39 jQuery("#grid_id").jqGrid('navGrid','#gridpager',{parameters},prmEdit, prmAdd, prmDel, prmSearch, prmView);  
 40 
 41 jQuery("#grid_id").jqGrid({  
 42 
 43 ...  
 44 
 45    pager : '#gridpager',  
 46 
 47 ...  
 48 
 49 }).navGrid('#gridpager',{parameters}, prmEdit, prmAdd, prmDel, prmSearch, prmView);  
 50 
 51 ...
 52         
 53 grid_id :表格id 
 54 
 55 gridpager :导航栏id 
 56 
 57 parameters :参数列表 
 58 
 59 prmEdit, prmAdd, prmDel, prmSearch, prmView :事件
 60 
 61 $.jgrid = {  
 62 
 63 ...  
 64 
 65    search : {  
 66 
 67      caption: "Search...",  
 68 
 69      Find: "Find",  
 70 
 71      Reset: "Reset",  
 72 
 73      odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'],  
 74 
 75      groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ],  
 76 
 77      matchText: " match",  
 78 
 79      rulesText: " rules"  
 80 
 81    },  
 82 
 83    edit : {  
 84 
 85       addCaption: "Add Record",  
 86 
 87      editCaption: "Edit Record",  
 88 
 89      bSubmit: "Submit",  
 90 
 91      bCancel: "Cancel",  
 92 
 93      bClose: "Close",  
 94 
 95      saveData: "Data has been changed! Save changes?",  
 96 
 97      bYes : "Yes",  
 98 
 99      bNo : "No",  
100 
101      bExit : "Cancel",  
102 
103   },  
104 
105   view : {  
106 
107     caption: "View Record",  
108 
109     bClose: "Close"  
110 
111   },  
112 
113   del : {  
114 
115     caption: "Delete",  
116 
117     msg: "Delete selected record(s)?",  
118 
119     bSubmit: "Delete",  
120 
121     bCancel: "Cancel"  
122 
123   },  
124 
125   nav : {  
126 
127     edittext: "",  
128 
129     edittitle: "Edit selected row",  
130 
131     addtext:"",  
132 
133     addtitle: "Add new row",  
134 
135     deltext: "",  
136 
137     deltitle: "Delete selected row",  
138 
139     searchtext: "",  
140 
141     searchtitle: "Find records",  
142 
143     refreshtext: "",  
144 
145     refreshtitle: "Reload Grid",  
146 
147     alertcap: "Warning",  
148 
149     alerttext: "Please, select row",  
150 
151     viewtext: "",  
152 
153     viewtitle: "View selected row"  
154 
155   },  
156 
157 ...
158         

1 jQuery("#grid_id").jqGrid({  
 2 
 3 ...  
 4 
 5    pager : '#gridpager',  
 6 
 7 ...  
 8 
 9 }).navGrid('#gridpager',{view:true, del:false},   
10 
11 {}, // use default settings for edit  
12 
13 {}, // use default settings for add  
14 
15 {},  // delete instead that del:false we need this  
16 
17 {multipleSearch : true}, // enable the advanced searching  
18 
19 {closeOnEscape:true} /* allow the view dialog to be closed when user press ESC key*/  
20 
21 );

7   自定义按钮

 1 jQuery("#grid_id").navGrid("#pager",...).navButtonAdd("#pager",{parameters});
 2 
 3 jQuery("#grid_id").jqGrid('navGrid',"#pager",...).jqGrid('navButtonAdd',"#pager",{parameters});
 4 
 5 { caption:"NewButton", buttonicon:"ui-icon-newwin", onClickButton:null, position: "last", title:"", cursor: "pointer"}  
 6         
 7 caption:按钮名称,可以为空,string类型 
 8 
 9 buttonicon:按钮的图标,string类型,必须为UI theme图标 
10 
11 onClickButton:按钮事件,function类型,默认null 
12 
13 position:first或者last,按钮位置 
14 
15 title:string类型,按钮的提示信息 
16 
17 cursor:string类型,光标类型,默认为pointer 
18 
19 id:string类型,按钮id 
20 
21 如果设置多个按钮:
22 
23 jQuery("#grid_id")  
24 
25 .navGrid('#pager',{edit:false,add:false,del:false,search:false})  
26 
27 .navButtonAdd('#pager',{  
28 
29    caption:"Add",   
30 
31    buttonicon:"ui-icon-add",   
32 
33    onClickButton: function(){   
34 
35      alert("Adding Row");  
36 
37    },   
38 
39    position:"last"  
40 
41 })  
42 
43 .navButtonAdd('#pager',{  
44 
45    caption:"Del",   
46 
47    buttonicon:"ui-icon-del",   
48 
49    onClickButton: function(){   
50 
51       alert("Deleting Row");  
52 
53    },   
54 
55    position:"last"  
56 
57 });
58         
59 按钮间的分隔 
60 
61 jQuery("#grid_id").navGrid("#pager",...).navButtonAdd("#pager",{parameters}).navSeparatorAdd("#pager",{separator_parameters}}; 
62 
63 默认参数: 
64 
65 {sepclass : “ui-separator”,sepcontent: ''} 
66 
67 sepclass:ui-jqgrid的属性名 
68 
69 sepcontent:分隔符的内容.

8   数据格式化

jqGrid的格式化是定义在语言包中

 $jgrid = {  

...  

   formatter : {  

     integer : {thousandsSeparator: " ", defaultValue: '0'},  

     number : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00'},  

     currency : {decimalSeparator:".", thousandsSeparator: " ", decimalPlaces: 2, prefix: "", suffix:"", defaultValue: '0.00'},  

     date : {  

       dayNames: [  

         "Sun", "Mon", "Tue", "Wed", "Thr", "Fri", "Sat",  

         "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"  

       ],  

       monthNames: [  

         "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",  

         "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"  

       ],  

       AmPm : ["am","pm","AM","PM"],  

       S: function (j) {return j < 11 || j > 13 ? ['st', 'nd', 'rd', 'th'][Math.min((j - 1) % 10, 3)] : 'th'},  

       srcformat: 'Y-m-d',  

       newformat: 'd/m/Y',  

       masks : {  

         ISO8601Long:"Y-m-d H:i:s",  

         ISO8601Short:"Y-m-d",  

         ShortDate: "n/j/Y",  

         LongDate: "l, F d, Y",  

         FullDateTime: "l, F d, Y g:i:s A",  

         MonthDay: "F d",  

         ShortTime: "g:i A",  

         LongTime: "g:i:s A",  

         SortableDateTime: "Y-m-d\\TH:i:s",  

         UniversalSortableDateTime: "Y-m-d H:i:sO",  

         YearMonth: "F, Y"  

       },  

       reformatAfterEdit : false  

     },  

     baseLinkUrl: '',  

     showAction: '',  

     target: '',  

     checkbox : {disabled:true},  

     idName : 'id'  

   }  

...
        
这些设置可以通过colModel中的formatoptions参数修改

jQuery("#grid_id").jqGrid({  

...  

   colModel : [  

   ...  

      {name:'myname', ... formatter:'number', ...},  

   ...  

   ],  

...  

});
        
此实例是对名为“myname”的列进行格式化,格式化类是“number”,假如初始值为“1234.1”则格式化后显示为“1 234.10” 。

如果给某列进行格式化:

jQuery("#grid_id").jqGrid({  

...  

   colModel : [  

   ...  

      {name:'myname', ... formatter:'currency', formatoptions:{decimalSeparator:",", thousandsSeparator: ",", decimalPlaces: 2, prefix: "$ "} } ,  

   ...  

   ],  

...  

});
        
这个设置会覆盖语言包中的设置。 
select类型的格式化实例: 原始数据

jQuery("#grid_id").jqGrid({  

...  

   colModel : [ {name:'myname', edittype:'select', editoptions:{value:"1:One;2:Two"}} ... ],  

...  

});
        
使用格式化后

jQuery("#grid_id").jqGrid({  

...  

   colModel : [ {name:'myname', edittype:'select', formatter:'select', editoptions:{value:"1:One;2:Two"}} ... ]  

...  

});
        
结果是,表格的数据值为1或者2但是现实的是One或者Two。 对超链接使用select类型的格式化:

jQuery("#grid_id").jqGrid({  

...  

   colModel: [ {name:'myname', edittype:'select', formatter:'select', formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}, ...}   

      ...   

   ]  

...  

});
        
得到http://localhost/someurl.php?id=123&action=edit 如果想改变id值则

jQuery("#grid_id").jqGrid({  

...  

   colModel: [ {name:'myname', edittype:'select', formatter:'select', formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit', idName:'myid'}, ...}   

      ...   

   ]  

...  

});
        
得到http://localhost/someurl.php?myid=123&action=edit 

jqGrid 自定义格式化

jQuery("#grid_id").jqGrid({  

...  

   colModel: [   

      ...   

      {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter},  

      ...  

   ]  

...  

});  

   

function currencyFmatter (cellvalue, options, rowObject)  

{  

   // do something here  

   return new_format_value  

}
        
cellvalue:要被格式化的值 

options:对数据进行格式化时的参数设置,格式为: { rowId: rid, colModel: cm} 

rowObject:行数据 


数据的反格式化跟格式化用法相似.

jQuery("#grid_id").jqGrid({  

...  

   colModel: [   

      ...   

      {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter, unformat:unformatCurrency},  

      ...  

   ]  

...  

});  

function currencyFmatter (cellvalue, options, rowObject)  

{  

   return "$"+cellvalue;  

}  

function  unformatCurrency (cellvalue, options)  

{  

   return cellvalue.replace("$","");  

}  
        
表格中数据实际值为123.00,但是显示的是$123.00; 我们使用getRowData ,getCell 方法取得的值是123.00。 创建通用的格式化函数


<script type="text/javascript">  

jQuery.extend($.fn.fmatter , {  

    currencyFmatter : function(cellvalue, options, rowdata) {  

    return "$"+cellvalue;  

}  

});  

jQuery.extend($.fn.fmatter.currencyFmatter , {  

    unformat : function(cellvalue, options) {  

    return cellvalue.replace("$","");  

}  

});  

</script>
        
具体使用:

jQuery("#grid_id").jqGrid({  

...  

   colModel: [   

      ...   

      {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter},  

      ...  

   ]  

...  

})

jqGrid 自定义格式化


jQuery("#grid_id").jqGrid({ ... colModel: [ ... {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter}, ... ] ... }); function currencyFmatter (cellvalue, options, rowObject) { // do something here return new_format_value } cellvalue:要被格式化的值 

options:对数据进行格式化时的参数设置,格式为: { rowId: rid, colModel: cm} 

rowObject:行数据 


数据的反格式化跟格式化用法相似. jQuery("#grid_id").jqGrid({ ... colModel: [ ... {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter, unformat:unformatCurrency}, ... ] ... }); function currencyFmatter (cellvalue, options, rowObject) { return "$"+cellvalue; } function unformatCurrency (cellvalue, options) { return cellvalue.replace("$",""); }

表格中数据实际值为123.00,但是显示的是$123.00; 我们使用getRowData ,getCell 方法取得的值是123.00。 创建通用的格式化函数

<script type="text/javascript"> jQuery.extend($.fn.fmatter , { currencyFmatter : function(cellvalue, options, rowdata) { return "$"+cellvalue; } }); jQuery.extend($.fn.fmatter.currencyFmatter , { unformat : function(cellvalue, options) { return cellvalue.replace("$",""); } }); </script> 具体使用: jQuery("#grid_id").jqGrid({ ... colModel: [ ... {name:'price', index:'price', width:60, align:"center", editable: true, formatter:currencyFmatter}, ... ] ... })

9   搜索操作

 1 表格中所有的列都可以作为搜索条件。 
 2 
 3 所用到的语言包文件
 4 
 5 $.jgrid = {  
 6 
 7 ...  
 8 
 9    search : {  
10 
11      caption: "Search...",  
12 
13      Find: "Find",  
14 
15      Reset: "Reset",  
16 
17      odata : ['equal', 'not equal', 'less', 'less or equal','greater','greater or equal', 'begins with','does not begin with','is in','is not in','ends with','does not end with','contains','does not contain'],  
18 
19      groupOps: [ { op: "AND", text: "all" }, { op: "OR", text: "any" } ],  
20 
21      matchText: " match",  
22 
23      rulesText: " rules"  
24 
25    }

jQuery("#grid_id").jqGrid({  

...  

   colModel: [   

      ...   

      {name:'price', index:'price', width:60, search:true, stype:'text', searchoptions:{dataInit:datePick, attr:{title:'Select Date'}} },  

      ...  

   ]  

...  

});  

datePick = function(elem)  

{  

   jQuery(elem).datepicker();  

}
        
需要说明的: 

所有的搜索都是使用url来到服务器端查询数据。 

当执行搜索时会用查询数据填充postData array 

发送到服务器端搜索字符串的名称为_search 

当点击刷新按钮时不会使用搜索条件 

每个搜索方法都有自己的数据清空方法 

搜索工具栏

自定义搜索

<div id="mysearch"></div>

jQuery("#mysearch").filterGrid('#grid_id',options);

10   配置json

  1 IE8,FF3以及Chrome 3已经支持JSON,配置:
  2 
  3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
  4 
  5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
  6 
  7 <head>  
  8 
  9 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
 10 
 11 <title>My First Grid</title>  
 12 
 13    
 14 
 15 <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" />  
 16 
 17 <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />  
 18 
 19    
 20 
 21 <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>  
 22 
 23 <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>  
 24 
 25 <script type="text/javascript">  
 26 
 27     jQuery.jgrid.useJSON = true;  
 28 
 29 </script>  
 30 
 31 <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>  
 32 
 33    
 34 
 35 </head>  
 36 
 37 <body>  
 38 
 39 ...  
 40 
 41 </body>  
 42 
 43 </html>
 44         
 45 这段代码要放到语言包之后jqGrid.js文件之前。
 46 
 47 如果浏览器不支持JSON,那么我们只能用eval函数解析json。
 48 
 49 除了jqGrid本身提供对json的类库外,我们可以使用JSON.parse来处理JSON,配置如下:
 50 
 51 
 52 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
 53 
 54 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  
 55 
 56 <head>  
 57 
 58 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
 59 
 60 <title>My First Grid</title>  
 61 
 62    
 63 
 64 <link rel="stylesheet" type="text/css" media="screen" href="css/ui-lightness/jquery-ui-1.7.1.custom.css" />  
 65 
 66 <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />  
 67 
 68    
 69 
 70 <script src="js/json2.js" type="text/javascript"></script>  
 71 
 72 <script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>  
 73 
 74 <script src="js/i18n/grid.locale-en.js" type="text/javascript"></script>  
 75 
 76 <script src="js/jquery.jqGrid.min.js" type="text/javascript"></script>  
 77 
 78 <script type="text/javascript">  
 79 
 80    jQuery.extend(jQuery.jgrid,{  
 81 
 82       parse:function(jsstring) {  
 83 
 84          return JSON.parse(jsstring);  
 85 
 86       }  
 87 
 88    });  
 89 
 90 </script>  
 91 
 92    
 93 
 94 </head>  
 95 
 96 <body>  
 97 
 98 ...  
 99 
100 </body>  
101 
102 </html>

11   参考文献

 【01】http://blog.mn886.net/jqGrid/

12   版权

  • 感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。
  • 博主网址:http://www.cnblogs.com/wangjiming/。
  • 极少部分文章利用读书、参考、引用、抄袭、复制和粘贴等多种方式整合而成的,大部分为原创。
  • 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出,邮箱:2016177728@qq.com。
  • 可以转载该博客,但必须著名博客来源。

转载于:https://www.cnblogs.com/wangjiming/p/7503469.html

 

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

相关推荐

jqGrid 中文API

使用jQuery的jqGrid插件可以实现非常好的页面展示效果,并且功能很强大。但是官方提供的帮助文档都是英文的,有些看着可能会不太方便。这里给大家提供一个中文的jqGrid帮助文档,希望能对大家有所帮助

jqGrid用法汇总(全经典)

  jqGrid可以绑定XML,JSON和数组三种类型的数据。接下来通过本文给大家介绍jqGrid用法的相关知识,感兴趣的朋友一起学习吧   支持多种类型的数据集合作为数据源   jqGrid可以绑定三种类型的数据:XML,JSON和数组。使用不同的数据类型主要是设置datatype属性,它的值分别为'xml','json','local'(数组) $("#grid1").jqgrid(...

戮筱沫博客 6183

从零搭建Python接口自动化测试框架:pytest+requests+Allure实战指南

接口自动化测试是现代软件工程中保障交付质量、提升测试效率的核心实践。其基本原理是通过脚本模拟客户端请求,对服务端接口进行自动化的功能验证、性能探测与回归测试,从而替代重复的手工操作。在技术实现上,Python凭借其简洁语法和丰富的生态,成为构建此类框架的主流选择,其中pytest测试框架、requests HTTP库和Allure报告工具构成了技术栈的黄金组合。这套技术方案的价值在于,它能将测试用例数据(如YAML文件)与执行逻辑分离,实现数据驱动测试,并通过持续集成(如Jenkins)无缝融入DevOps

weixin_31822733的博客 378

【Jquery系列】【转载】JqGrid参数详解

1   概述  本篇文章主要与大家分享JqGrid插件参数问题。 2   参数详解  2.1 初始化参数 2.2  ColModel参数 3   json数据 jqGrid可支持的数据类型:xml、json、jsonp、local or clientSide、xmlstring、jsonstring

a545415的博客 916

VASP+机器学习快速收敛AIMD

本文介绍了如何利用VASP结合机器学习技术快速收敛AIMD(从头算分子动力学)模拟。首先,通过训练机器学习力场,生成关键文件如ML_ABN(包含结构数据集)、ML_FFN(存储回归结果)和ML_LOGFILE(记录训练日志)。接着,配置INCAR文件以设置计算参数,包括并行化、分子动力学和机器学习相关参数。KPOINTS文件用于定义K点网格。计算完成后,备份CONTCAR文件作为后续模拟的初始结构。最后,利用训练好的力场文件进行纯机器学习力场分子动力学模拟,并提交任务执行。

qq_44812865的博客 1405

Python-OPCUA 实现西门子PLC数据批量读写与自动化监控

本文详细介绍了如何使用Python结合OPC UA协议,实现对西门子PLC数据的批量读写与自动化监控。通过搭建开发环境、利用KEPserverEX作为通信桥梁,并配合Python代码实战,读者可以掌握高效的数据采集、批量写入以及构建带报警功能的监控系统的方法,从而大幅提升工业自动化场景下的数据处理效率和系统灵活性。

www00的博客 181

jqGrid 各种参数 详解

JQGrid JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信。 JQGrid Demo 是一个在线的演示项目。在这里,可以知道jqgrid可以做什么事情。 下面是转自其他人blog的一个学习资料,与其说是学习资料,说成查询帮助文档更加合适。 jqGrid学习之 ------------- 安装 jqGrid安装很简单,只需把相应

Hurry的专栏 15万+

深入剖析STM32F103 I2C总线死锁问题及高效应对策略

本文深入剖析了STM32F103硬件I2C总线在轮询模式下发生死锁的根本原因,即硬件状态机的预取机制与软件响应速度不匹配。文章提供了高效的解决方案,包括在轮询模式下提前发送NACK/STOP信号、降低总线速度,以及治本的中断与DMA应用策略,帮助开发者根据项目需求选择最合适的方案,彻底解决这一经典硬件缺陷问题。

weixin_29184371的博客 206

JQGrid各种参数详解

jqGrid皮肤 从3.5版本开始,jqGrid完全支持jQuery UI的theme。我们可以从http://jqueryui.com/themeroller/下载我们所需要的theme。当然,你也可以编辑自己的theme。jqGrid  也并不需要把所有的css文件都引入进来,只需导入核心css文件“ui.theme.css ” 以及“ui.core.css”即可,文件位于目录develop...

全盛 770

9、 量子支持向量机:从经典到量子的跨越

本文详细介绍了量子支持向量机(QSVM)的基本原理及其在PennyLane和Qiskit框架中的实现方法。从经典SVM的基础知识出发,逐步深入到量子领域的应用,包括如何定义量子核函数、与scikit-learn集成以及在模拟器和实际量子计算机上的训练和评估过程。最后通过表格和流程图总结了不同框架下的实现要点,为未来量子机器学习的研究提供了参考。

weixin_42433737的博客 184

Vue2 - 最新实现接入使用天地图及卫星视图切换功能,在国家天地图上自由切换地图显示类型(卫星视图/地形视图/卫星混合/地形混合/普通视图)vue天地图切换视图显示改成卫星风格,切换地图图层完整代码

vue2,nuxt2,天地图,视图,卫星,地图类型切换,vue天地图,改成卫星视角,在线地图切换,来回切换卫星图,天地图如何实现来回切换卫星图,地形图,卫星视图,vue中使用天地图自定义样式切换地图图层,切换报错,加载出错,卫星图太卡,地图图层更换,vue安装集成天地图详细示例源码,切换地图的样式,在天地图中如何将地图的类型随意更换,提供多种视图模式用户自由点击更换,VUE引入天地图卫星版,详细教程示例源码代码,天地图切换卫星用什么api,卫星视角API方法,vue2卫星天地图,能改地图的显示方式,图层类型

🏆 前端领域优质创作者 4140

jQuery学习之:jqGrid表格插件——参数配置

由于jqGrid功能强大,配置比较复杂,在第一个例子中,对于jqGrid的配置参数没有进行什么解释。从现在开始,会陆续介绍jqGrid的参数。这 些参数的详细介绍请查看官方文档。由于本人英语水平有限,翻译不好,请多原谅。(为了保证连贯性,翻译时引用了 http://a3mao.javaeye.com,在此感谢。但在他的基础上增加了一些内容。) a3mao永久域名 http://a3mao.j

dahuzi的专栏 965

YOLO26 正式发布源代码!极致速度优化方案, 面向工业级落地的目标检测模型!

YOLO26 作为 Ultralytics 公司于 2025 年 9 月发布的最新一代目标检测模型,在架构设计和技术实现上展现了显著的创新。本文深入分析了 YOLO26 的核心架构改进和技术原理,重点探讨了其在边界框回归、推理流程、损失函数设计和优化算法方面的突破性进展。

魔改工程师的博客 1243

jqgrid后台传参数

JScript code // 获得当前postData选项的值 var postData = $("#proList").jqGrid("getGridParam", "postData"); // 将查询参数融入postData选项对象 $.extend(postData, [color=#FF0000]$("#searchVoForm").serializeArray()[/color]...

weixin_30642561的博客 1800

药物对接仿真软件:HADDOCK_(9).结果分析方法

HADDOCK是一种强大的药物对接仿真工具,通过对生成的输出文件进行详细的分析,我们可以验证仿真结果的可靠性,并为进一步优化药物设计提供依据。常见的分析方法包括解读输出文件、使用可视化工具进行结构分析、评估对接模型的稳定性和准确性等。通过这些步骤,我们可以更全面地了解受体和配体的结合模式,从而提高药物设计的成功率。

kkchenjj的博客 1006

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jqGrid系列:下载jqGrid

step 1:下载jqGrid 下载地址:http://www.trirand.com/blog/?page_id=6 当前版本为: 3.8.2 进入页面,选择要下载的组件. 呵呵,我的做法是全部选择下载咯....下载之后的ZIP文件中包含的目录结构如下: /css/ ui-jqgrid.css /js/ /i18n/ grid.locale-bg.js list o...

weixin_30568715的博客 3908

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jqGrid 参数 详解

JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信。 JQGrid Demo 是一个在线的演示项目。在这里,可以知道jqgrid可以做什么事情。 下面是转自其他人blog的一个学习资料,与其说是学习资料,说成查询帮助文档更加合适。 jqGrid学习之 ------------- 安装 jqGrid安装很简单,只需把相应的css、js文件加

CTO成长之路——Rosanu 1971

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

JQuery.jqGrid()入门

jQuery("#grid_id").jqGrid({ //<table id="grid_id"></div> url: "UserServlet?method=getList", // 加载数据时访问的url 具体的返回可以是xml,json datarype:"json" //返回的数据类型,后台需要返回一个json字符串 json,xml,xmlstri

熊二吃屁的博客 2448

jQuery.jqGrid

  相信看到这文章的小伙伴,大多和我一样,手里的项目用到过它。并且已经能够在开发新功能或者修改现有功能的时候照猫画虎的使用它,依然觉得对它不太了解,想更深入的了解它的,我就是抱着这么样的心态,来记录了我跟随官方文档学习的过程,希望对有同样需求的小伙伴有所帮助。  这个问题看起来很无聊的。jqGrid不就是负责把获得过来的信息以表格的形式展示到界面里的JS控件嘛。确实,这个控件就是负责干这事儿的。它官方的WIKI上是这么写的,汉字部份是来自度娘的翻译。jqGrid is an Ajax-enabled Jav

1403
上一篇: Oracle服务器CPU 100%案例分析
下一篇: CRON表达式,让你轻松掌握定时任务设置!
ok060
博客等级 码龄18年 2227粉丝 581原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ok060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值