EasyUI + Struts2 + Ajax 显示 easyui datagrid 分页效果

1、Html代码

 

  1      <script type="text/javascript" src="/js/easyui/jquery.min.js"></script>
  2     <script type="text/javascript" src="/js/easyui/jquery.easyui.min.js"></script>
  3     <script type="text/javascript" src="/js/easyui/easyui-lang-zh_CN.js"></script>
  4     <link href="/js/easyui/themes/default/easyui.css" type="text/css" rel="stylesheet">
  5     <link href="/js/easyui/themes/icon.css" type="text/css" rel="stylesheet">
  6     <link href="/js/easyui/themes/self.css" type="text/css" rel="stylesheet">
  7 
  8 
  9 <script type="text/javascript">  
 10     
 11     //页面加载时调用
 12     $(function(){
 13         query();
 14         
 15     })
 16     
 17     
 18     //查询表格信息
 19     function query(){
 20         $(#table_data).datagrid({   
 21         title:数据表信息列表,   
 22         iconCls:icon-edit,//图标   
 23         width:auto,
 24         height:auto,   
 25         nowrap: false,   
 26         striped: true,   
 27         border: true,   
 28         collapsible:false,//是否可折叠的   
 29         fit: true,//自动大小   
 30         url:app/MetaQuery!metaQuery.action?tName=+$(#tName).val()+"&tCode="+$(#tCode).val()+"&tKind="+$(#tKind).val(),   
 31         //sortName: ‘code‘,   
 32         //sortOrder: ‘desc‘,   
 33         remoteSort:false,    
 34         idField:tableID,   //单选框id
 35         singleSelect:true,//是否单选   
 36         pagination:true,//分页控件   
 37         rownumbers:true,//行号   
 38         frozenColumns:[[   
 39             {field:ck,checkbox:true}   
 40         ]],   
 41         onSelect: function(rowIndex, rowData){//绑定点击一行触发事件
 42                 queryField(rowData.tableID);//元字段列表刷新
 43             }
 44         });   
 45         //设置分页控件   
 46         var p = $(#table_data).datagrid(getPager);   
 47         $(p).pagination({   
 48             pageSize: 10,//每页显示的记录条数,默认为10   
 49             pageList: [5,10,15],//可以设置每页记录条数的列表   
 50             beforePageText: ,//页数文本框前显示的汉字   
 51             afterPageText: 页    共 {pages} 页,   
 52             displayMsg: 当前显示 {from} - {to} 条记录   共 {total} 条记录
 53             /*onBeforeRefresh:function(){  
 54                 $(this).pagination(‘loading‘);  
 55                 alert(‘before refresh‘);  
 56                 $(this).pagination(‘loaded‘);  
 57             }*/  
 58         }); 
 59     
 60     }
 61     
 62     
 63     //新增数据库表格
 64     function addMeta(){
 65         var height = "400px";
 66         var url = "system/JumpMetaAddOrUpdate!jumpMetaAddOrUpdate.action";
 67         $(#w).window({title:新增数据表信息,
 68                         width:580px,
 69                         height:height,
 70                        content:<iframe scrolling=auto frameborder=0  src=+url+ style=width:100%;height:100%;></iframe>})
 71                .window(open).window(center);
 72     }
 73     
 74     
 75     //修改数据库表格
 76     function updateMeta(){
 77         var row = $(#table_data).datagrid(getSelected);
 78         if(!row){
 79             $.messager.alert(提示, "请选择一条数据信息", info);
 80             return;
 81         }
 82         var url = "system/JumpMetaAddOrUpdate!jumpMetaAddOrUpdate.action?tableID="+row.tableID;//修改数据源访问请求
 83         var height = "400px";
 84         $(#w).window({title:修改数据表信息,
 85                         width:580px,
 86                         height:height,
 87                        content:<iframe scrolling=auto frameborder=0  src=+url+ style=width:100%;height:100%;></iframe>})
 88                .window(open).window(center);
 89     }
 90     
 91     
 92     //删除数据库表格
 93     function deleteMeta(){
 94         var row = $(#table_data).datagrid(getSelected);
 95         if(!row){
 96             $.messager.alert(提示, "请选择一条数据信息", info);
 97             return;
 98         }
 99         $.messager.confirm(提示, "确认删除?", function(r){
100             if (r){
101                     $.ajax({
102                         type : "POST",
103                         contentType : "application/x-www-form-urlencoded;charset=gbk",
104                         url : "app/MetaDelete!metaDelete.action?tableID="+row.tableID,
105                         dataType : "json",
106                         success : function(data){
107                             if(data.result == "success"){
108                                 var index = $(#table_data).datagrid(getRowIndex,row);
109                                 $(#table_data).datagrid(deleteRow,index);
110                                 query();//元字段列表刷新
111                                 //loadDataFieldgrid(rowData.sourceID);//数据源字段列表刷新
112                             }else{
113                                 $.messager.alert(提示, "删除失败", error);
114                             }
115                         },
116                         error : function(){
117                             $.messager.alert(提示, "删除失败", error);
118                         }
119                     });
120                 }
121         });
122     }
123     
124     
125     
126     
127     
128     
129     </script> 
130 
131 
132 
133  <div  style="float:left; width: 40%;height: 80%;" >
134       
135         <div id="searchtool" >
136             <span>表名:</span><input type="text" id="tName" name="tName" size="15">    
137             <span>表代码:</span><input type="text" id="tCode" name="tCode" size="10">
138             <span>类别:</span><select class="selectCss" id="tKind" name="tKind">
139                                 <option value="0" ></option>
140                                 <s:iterator value="#session.dicVO"  var="str">
141                                 <option value="<s:property value="#str.code"/>" ><s:property value="#str.name"/></option>
142                                 </s:iterator>
143                               </select>
144             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:‘icon-search‘"   onclick="query()" >查询</a>
145             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:‘icon-add‘"      onclick="addMeta()" >添加</a>
146             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:‘icon-edit‘"     onclick="updateMeta()" >修改</a>
147             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:‘icon-remove‘"   onclick="deleteMeta()" >删除</a>
148         </div>
149       
150       
151         <table id="table_data" class="easyui-datagrid" style="width:600px;height=500px"
152            rownumbers="true" toolbar="#searchtool" loadMsg="正在查询...">   
153             <thead>   
154                 <tr>   
155                     <th field="tableName"     width="20%">表名</th>   
156                     <th field="tableCode"     width="20%">表代码</th>   
157                     <th field="dbOwner"       width="20%">权限</th>   
158                     <th field="kindStr"       width="20%">类别</th>   
159                     <th field="statusStr"     width="13%">状态</th>   
160                 </tr>   
161             </thead>   
162         </table> 
163         
164      </div>

 

 


 

 

2、Struts2配置文件

 

1 <package name="app" extends="json-default" namespace="/app">   
2         <!-- 查询数据库表格信息 -->
3         <action name="MetaQuery" class="com.netcom.nkestate.system.action.MetaDataAction" >   
4             <result type="json">   
5                 <param name="root">result</param>   
6             </result>   
7         </action>
8     </package>

 

 

 

3、Action类

 1 public class MetaDataAction extends ActionSupport implements ServletRequestAware ,SessionAware{
 2     private String rows;//每页显示的记录数   
 3     private String page;//当前第几页   
 4     private Map<String , Object> session;
 5     private Map<String , Object> responseJson;
 6     private JSONObject result;//返回的json   
 7     
 8     private MetaTableBO bo = new MetaTableBOImp();
 9 
10 
11     /**
12      * 功能描述:查询数据库表格信息
13      */
14     public String metaQuery() {   
15          HttpServletRequest request = ServletActionContext.getRequest();
16          String tableName = request.getParameter("tName");
17          String tableCode = request.getParameter("tCode");
18          String kind = request.getParameter("tKind")==null?"0":request.getParameter("tKind");
19              Page p = new Page();
20              p.setCurrentPage(Integer.parseInt(page));//当前页
21              p.setPageSize(Integer.parseInt(rows));//每页最大数
22              List<MetaTableVO> list;
23              try{
24                   Map<String, Object> jsonMap = new HashMap<String, Object>();//定义map   
25              list = bo.findMetaTable(tableName,tableCode, Integer.parseInt(kind), p);
26                     jsonMap.put("total", bo.findMetaTableCount(tableName,tableCode, Integer.parseInt(kind)));//total键 存放总记录数,必须的   
27                      jsonMap.put("rows",  list);//rows键 存放每页记录 list   
28                   result = JSONObject.fromObject(jsonMap);//格式化result   一定要是JSONObject   
29          }catch (Exception e){
30              e.printStackTrace();
31          }
32          return SUCCESS; 
33     }
34 
35 }

 


 

 

 

 


 

4、显示结果

 

 

 


 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。