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

    技术2022-05-12  16

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

    后台代码实现

    [复制到剪贴板] 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/ 


    最新回复(0)