JqGrid使用

JqGrid介绍:

用jQuery编写,用于以表格形式来显示数据,支持后台数据传输,支持对数据处理。

用于显示数据的showList.jsp页面:

1 <table id="list"></table>
2 <div id="pager"></div>

其中

<table id="list"></table>用于显示数据,

<div id="pager"></div>用于显示分页信息、数据操作信息等。

showList.jsp页面对应的showList.js代码:

 1 $(function(){
 2     jQuery("#list").jqGrid(
 3             {
 4                 url : 'index.do?method=getPageList',
 5                 datatype : "json",
 6                 colNames : [ 'Help Category Id', 'Name', 'Parent Category Id', 'Url' ],
 7                 colModel : [ {name : 'help_category_id', index : 'help_category_id'}, 
 8                              {name : 'parent_category_id', index : 'parent_category_id'}, 
 9                              {name : 'name', index : 'name'}, 
10                              {name : 'url', index : 'url'}],
11                 rowNum : 10,
12                 rowList : [ 10, 20, 30 ],
13                 pager : '#pager',
14                 sortname : 'help_category_id',
15                 viewrecords : true,
16                 sortorder : "desc",
17                 caption : "JSON Example",
18                 multiselect: true
19             });
20     
21     var alertText = "<div>请选择!</div>";  
22     
23     $("#list").jqGrid("navGrid", "#pager", {  
24         addfunc : openDialogAdding,    
25         editfunc : openDialogUpdating, 
26         delfunc : openDialogDeleting,  
27         alerttext : alertText    
28     },{},{},{},{     
29         caption: "查找",  
30         Find: "Let's go!",  
31         multipleSearch: true,  
32         groupOps: [{ op: "AND", text: "全部" }],  
33     },{});   
34     
35 });
36 
37 var openDialogAdding = function() {  
38     var rowid = null;
39     window.open ('index.do?method=showAddView');
40     $("#list").trigger("reloadGrid");
41 }
42 var openDialogUpdating = function(rowid) {
43     alert(rowid);
44     var id = SelectedRowData(rowid);
45     window.open ('index.do?method=showUpdateView&id='+id);
46     $("#list").trigger("reloadGrid");
47 }  
48 var openDialogDeleting = function(rowid) {
49     alert(rowid);
50     loadSelectedRowData(rowid,'del');  
51     var id = SelectedRowData(rowid);
52     var params = {  
53             "id" : id  
54         };
55     var actionUrl = 'index.do?method=showUpdateView';
56     refesh(actionUrl, params)
57 }  
58 
59 var SelectedRowData = function(selectedRowId){
60     if(selectedRowId!=null){
61         var rowData = $("#list").getRowData(selectedRowId);
62     }
63     return rowData.help_category_id;
64 }
65 
66 
67 var refesh = function(actionUrl, params){
68     $.ajax( {  
69         url : actionUrl,  
70         data : params,  
71         dataType : "json",  
72         cache : false,  
73         success : function(data) {  
74             // 如果读取结果成功,则将信息载入到对话框中 
75             if(data.success == "ok"){
76                 alert("操作成功");
77                 $("#list").trigger("reloadGrid"); 
78             }
79             else{
80                 alert('操作失败');
81             }
82              
83         }  
84     });
85 }

jQuery("#list").jqGrid中的参数介绍:

 

url 为传送数据的后台地址
dataType 后台传送数据的数据类型
colNames 表格数据的第一行
colModel 表格数据
rolNum 默认一行显示多少个
rolList 让用户选择可以一行显示多少个
paper 分页信息在哪里显示
sortname 以哪一列进行排序
sortorder 排序规则
caption 表格数据的名字
multiselect 是否可以多选
addfunc 增加操作的js方法名
editfunc 修改操作的js方法名
delfunc 删除操作的js方法名
alerttext 操作出错时显示的信息

 

 

 

 

 

 

 

 

 

 

在colModel中name表示在网页中显示的名字,index表示后台传输数据的key。

SelectedRowData方法为获取选中的行数据。

后台提交数据的数据类型:

{"page":"1",

"total":"5",

"records":"54",

"rows":[{"id":1,"cell":[55,"XXXXXX",12,"XX"]},

{"id":2,"cell":[54,"XXXX",12,"XX"]},

{"id":3,"cell":[53,"XX",12,"XX"]},

{"id":4,"cell":[52,"bbbbb",12,"nvb"]},

{"id":5,"cell":[51,"fdsfd",12,"nvb"]},

{"id":6,"cell":[50,"djkfhkdshfjkds",12,"nvb"]},

{"id":7,"cell":[49,"fksdfkdsjf",12,"nvb"]},

{"id":8,"cell":[48,"dsfds",12,"nvb"]},

{"id":9,"cell":[47,"sfd",11,"dfsdf"]},

{"id":10,"cell":[46,"ddsf",25,"dsfds"]}]}

其中page为当前的页数,total为总页数,records为数据总数,rows为具体数据。

其中rows中有两部分组成,id为数据在页面的行号,cell为数据信息。

显示结果:

 

posted @ 2014-06-03 15:01  GYI_Feison  阅读(205)  评论(0)    收藏  举报