ext2.2打造全新功能grid系列--显示列表篇(十)

在这个显示篇里,简单的从后台绑定数据,包括分页和刷新的功能.
源代码下载
先看看图片展示的效果:



Ext实现

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridShow.aspx.cs" Inherits="gridShow" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/ext-all.css" />
    <link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-green.css" />
    <script type="text/javascript" src="ExtJS/adapter/ext/ext-base.js"></script>
    <script type="text/javascript" src="ExtJS/ext-all.js"></script>
    <script type="text/javascript" src="ExtJS/ext-lang-zh_CN.js"></script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <script type="text/javascript">   
    function ready()
    {
        var url = "jsonGrid.aspx?Param=select";
        var sm = new Ext.grid.CheckboxSelectionModel();
       
        var cm = new Ext.grid.ColumnModel
        ([       
            sm,new Ext.grid.RowNumberer({header:"编号",width:50}),
            {header:"编号",dataIndex:"ID",width:10,hidden:true},
            {header:"标题",dataIndex:"TypeCName",width:100,editor:new Ext.form.TextField()},
            {header:"英文名称",dataIndex:"TypeEName",width:100,editor:new Ext.form.TextField()},
            {header:"状态",dataIndex:"DelFlag",width:100,renderer:function(value){if(value==false) {return "显示";} else {return "隐藏";}}},
            {header:"添加日期",dataIndex:"AddDate",width:100,renderer:Ext.util.Format.dateRenderer('Y年m月d日')}
        ]);
        cm.defaultSortable = true;
        var fields =
            [
                {name:"ID"},
                {name:"TypeCName"},
                {name:"TypeEName"},
                {name:"DelFlag"},
                {name:"AddDate"}
          ];
        var store = new Ext.data.Store
        ({
            proxy:new Ext.data.HttpProxy({url:url}),
            reader:new Ext.data.JsonReader({totalProperty:"totalPorperty",root:"root",fields:fields})
        });
        store.load({params:{start:0,limit:15}});
       
        var pagingBar = new Ext.PagingToolbar
        ({
            displayInfo:true,emptyMsg:"没有数据显示",displayMsg:"显示从{0}条数据到{1}条数据,共{2}条数据",
            store:store,
            pageSize:15
        });
        var grid = new Ext.grid.GridPanel
        ({
            id:"MenuGridPanel",
            renderTo:document.body,
            layout:"fit",
            frame:true,
            border:true,
            width:600,
            height:450,
            autoScroll:true, 
            store:store,
            sm:sm,
            cm:cm,
            viewConfig:{forceFit: true},
            title:'Ext2.2全新功能版系列之--显示列表',
            bbar:pagingBar
        });
    }
    </script>   
    <script type="text/javascript">
    Ext.onReady(ready);
    </script>
    </div>
    </form>
</body>
</html>



后台代码实现

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Collections.Generic;
using Newtonsoft.Json;
public partial class jsonGrid : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        #region 分页
        int pagesize = 20;
        int start = 1;
        string field, asc_desc;
        if (string.IsNullOrEmpty(Request["sort"]))
        {
            field = "ID";
            asc_desc = "desc";
        }
        else
        {
            field = Request["sort"];
            asc_desc = Request["dir"];
        }
        if (!string.IsNullOrEmpty(Request["limit"]))
        {
            pagesize = int.Parse(Request["limit"]);
            start = int.Parse(Request["start"]);
        }
        start = start / pagesize;
        start += 1;
        #endregion
        string param = Request["Param"];
        switch (param)
        {
            case "select":
                Select(field, asc_desc, pagesize, start);
                break;
            case "search":
                break;
            default:
                break;
        }
    }

    void Select(string field, string asc_desc, int pagesize, int start)
    {
        string json = "";
        try
        {
            DataSet ds = ExtUtil.PaginationByTableName(field, asc_desc, pagesize, start, "TypeTable");
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                json = ExtUtil.GetJsonString(ds);
                int count = ExtUtil.GetCountByTableName("TypeTable");
                json = "{totalPorperty:" + count + ",root:" + json + "}";
            }
        }
        catch (Exception ee)
        {
            string error = ee.Message;
        }
        Response.Write(json);
    }
}



其它部分详见源代码下载文件

源代码下载

 

出处:http://goyangtao123.blog.163.com/blog/static/482929212008113113015180/ 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值