jQuery easyUI 使用 datagrid 表格

Posted zhang1f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery easyUI 使用 datagrid 表格相关的知识,希望对你有一定的参考价值。

获取后台数据依旧是使用一般处理程序(ashx) ,分页上添加一个函数(pagerFilter(data))

前端代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="dataGrid.aspx.cs" Inherits="Web.Management.dataGrid" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
     <link href="easyui/themes/default/easyui.css" rel="stylesheet" />
    <link href="easyui/themes/icon.css" rel="stylesheet" />
    <link href="css/style.css" rel="stylesheet" />
    <script src="easyui/jquery.min.js"></script>
    <script src="easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="http://www.w3cschool.cc/try/jeasyui/datagrid-detailview.js"></script>
    <script src="easyui/locale/easyui-lang-zh_CN.js"></script>
    <script src="js/echarts.js"></script>
    <script src="js/shine.js"></script>
    <script type="text/javascript">  
        $(function ()   
            $(#dg).datagrid(
                url:ashx/GetDataFormSql.ashx,  
                width: 800,  
                title: 设备管理,  
                method:get,  
                columns: [[  
                     field: adminName, title: 登录名, width: 300 ,
                     field: trueName, title: 用户名, width: 300 ,
                     field: mobilePhone, title: 联系电话, width: 200 
                ]],  
                pagination: true,  
                pageSize:1,  
                pageList:[1,2,3]  
            )  
        )
        function pagerFilter(data) 
            if (typeof data.length == number && typeof data.splice == function)    // is array  
                data = 
                    total: data.length,
                    rows: data
                
            
            var dg = $(this);
            var opts = dg.datagrid(options);
            var pager = dg.datagrid(getPager);
            pager.pagination(
                onSelectPage: function (pageNum, pageSize) 
                    opts.pageNumber = pageNum;
                    opts.pageSize = pageSize;
                    pager.pagination(refresh, 
                        pageNumber: pageNum,
                        pageSize: pageSize
                    );
                    dg.datagrid(loadData, data);
                
            );
            if (!data.originalRows) 
                data.originalRows = (data.rows);
            
            var start = (opts.pageNumber - 1) * parseInt(opts.pageSize);
            var end = start + parseInt(opts.pageSize);
            data.rows = (data.originalRows.slice(start, end));
            return data;
        

        $(function () 
            $(#dg).datagrid( loadFilter: pagerFilter ).datagrid(loadData, getData());
        );
    </script> 
</head>
<body>
    <form id="form1" runat="server">
    <div>
     <table id="dg"></table>  
    </div>
    </form>
</body>
</html>

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data; 
using System.Text;

namespace Web.Management.ashx

    /// <summary>
    /// GetDataFormSql 的摘要说明
    /// </summary>
    public class GetDataFormSql : IHttpHandler
    

        public void ProcessRequest(HttpContext context)
        

            string command = context.Request.QueryString["test"];//前台传的标示值    
            if (command == "add")
            //调用添加方法    
                //Add(context);//我暂时只是绑定,所以把这些给注释了  
            
            else if (command == "modify")
            //调用修改方法    
                //Modify(context);//我暂时只是绑定,所以把这些给注释了  
            
            else
            //调用查询方法    
                Query(context);
              
           
        
        public void Query(HttpContext context)
        
            //调用B层的方法从而获取数据库的Dataset    
            DataSet ds = BRL.BLL.A_admin.GetAllList();
            //将Dataset转化为Datable    
            DataTable dt = ds.Tables[0];
            int count = dt.Rows.Count;
            string strJson = Dataset2Json(ds, count);//DataSet数据转化为Json数据    
            context.Response.Write(strJson);//返回给前台页面    
            context.Response.End();

        

        public static string Dataset2Json(DataSet ds, int total = -1)
        
            StringBuilder json = new StringBuilder();

            foreach (DataTable dt in ds.Tables)
            
                //"total":5,"rows":[  
                json.Append("\"total\":");
                if (total == -1)
                
                    json.Append(dt.Rows.Count);
                
                else
                
                    json.Append(total);
                
                json.Append(",\"rows\":[");
                json.Append(DataTable2Json(dt));
                json.Append("]");
            
            return json.ToString();
        

        public static string DataTable2Json(DataTable dt)
        
            StringBuilder jsonBuilder = new StringBuilder();

            for (int i = 0; i < dt.Rows.Count; i++)
            
                jsonBuilder.Append("");
                for (int j = 0; j < dt.Columns.Count; j++)
                
                    jsonBuilder.Append("\"");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append("\":\"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\",");
                
                if (dt.Columns.Count > 0)
                
                    jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                
                jsonBuilder.Append(",");
            
            if (dt.Rows.Count > 0)
            
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            

            return jsonBuilder.ToString();
          
        public bool IsReusable
        
            get
            
                return false;
            
        

       
    
    

 

以上是关于jQuery easyUI 使用 datagrid 表格的主要内容,如果未能解决你的问题,请参考以下文章

jQuery easyUI 使用 datagrid 表格

jquery easyui datagrid使用参考 - Qi Fei - 博客园

jQuery EasyUI datagrid 删除多行

easyui datagrid 使用例子

jQuery EasyUI教程之datagrid应用

jQuery EasyUI教程之datagrid应用