天天看點

ext2.2打造全新功能grid系列--顯示清單篇(十)

在這個顯示篇裡,簡單的從背景綁定資料,包括分頁和重新整理的功能.

源代碼下載下傳

先看看圖檔展示的效果:

ext2.2打造全新功能grid系列--顯示清單篇(十)

Ext實作

[複制到剪貼闆] CODE: <%@ 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" target="_blank" rel="external nofollow" />

    <link rel="Stylesheet" type="text/css" href="ExtJS/resources/css/xtheme-green.css" target="_blank" rel="external nofollow" />

    <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>

背景代碼實作

[複制到剪貼闆] CODE: 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/