zoukankan      html  css  js  c++  java
  • EasyUI

    效果:

    原理:通过POST传递到数据后台字段。

    • 此时上传的参数,page:当前页数,rows:每页显示的页数。
    • 有此两项参数,计算取出数据条数。
    • 通过后台接受参数,进行处理并返回抽取的数据。

    html代码:

                <table id="tab"></table>

    JS代码:

    • 此时显示的列名称,对应的是JSON数据中的列名称。
    $(function () {
        $('#tab').datagrid({
             500,//宽度
            title: '信息列表',//标题名
            iconCls: 'icon-search',//图标
            singleSelect: true,//是否单选
            striped: true,//是否开启斑马线
    
    
    
            //要加载的数据
            url: "../Json/datagridjson.ashx",
            //要显示的列
            columns: [[
                { field: 'id', title: '编号' },
                { field: 'name', title: '姓名'},
                { field: 'sex', title: '性别'}
            ]],
    
    
    
            //显示分页控件栏
            pagination: true,
            pageNumber: 1,//初始化的时候在第几页
            pageSize: 5,//,每页显示的条数
            pageList: [5, 10, 15],//每页显示的条数
        });
    })

    一般处理程序(ashx)记载数据页:

    • 下方使用了,DataTable转换Json类。
    • 使用了分页的SQL语句。
    • 为了能在DataGrid组件中显示总条数,要在返回的数据中加入 total属性,具体详见代码中的注释。
    using EasyUI.DAL;
    using EasyUI.Tools;
    using System;
    using System.Data;
    using System.Web;
    
    namespace EasyUI.Json
    {
        /// <summary>
        /// datagridjson 的摘要说明
        /// </summary>
        public class datagridjson : IHttpHandler
        {
    
            public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "application/json";
    
    
                //接受前台传递来的页数和每页显示的条数
                //前台开启分页之后,传递来的参数
                int pageIndex = Convert.ToInt32(context.Request["page"]);
                int pagenumber = Convert.ToInt32(context.Request["rows"]);
    
                //存储数据
                DataTable dt = new DataTable();
    
                if (pageIndex == 1)
                {
                    //加载第一页
                    string pageIndexOne = "select top " + pagenumber + " id, name, sex from Tb_person";
                    //获取数据
                    dt = SQLHelper.ExecuteTable(pageIndexOne, CommandType.Text);
                }
                else if (pageIndex != 1)
                {
                    //加载非第一页
                    string pageIndexNotOne = @"select id, name, sex from
                                             (select ROW_NUMBER() over(order by id) as rownum, id, name, sex from Tb_person) as a
                                              where a.rownum > " + (pageIndex - 1) * pagenumber + " and a.rownum <= " + pageIndex * pagenumber + "";
                    //获取数据
                    dt = SQLHelper.ExecuteTable(pageIndexNotOne, CommandType.Text);
                }
                else { }
    
    
                //将datatable转换为json
                //在返回的JSON数据中,加入total属性(总记录数)
                //那么他就会在加载的时候,显示总记录数。
                //显示的格式是【 {"total":12, "rows":"[{},{},{}]"} 】,rows内为JSON数据。
                string strjson = "{"total":15, "rows":" + DatatableToJson.ToJson(dt) + "}";
    
                context.Response.Write(strjson);
            }
            
            public bool IsReusable
            {
                get
                {
                    return false;
                }
            }
        }
    }
  • 相关阅读:
    安装ArcGIS Desktop 9.3后,Windows 7的“打开或关闭Windows功能”对话框成了一片空白
    ubuntu安装锐捷客户端
    jsp中文乱码的问题
    C#操作MySQL时,出现的中文乱码的解决方案
    Jena读取Restriction
    MySQL导入Access数据
    No identifier specified for entity: main.java.com.sy.entity.User
    基于注解的Spirng MVC框架的搭建(基础篇)
    解决jQuery版本冲突的方法
    Sybase数据库的连接,JNDI,Hibernate配置
  • 原文地址:https://www.cnblogs.com/KTblog/p/4915713.html
Copyright © 2011-2022 走看看