ITPub博客

首页 > 应用开发 > IT综合 > 在后代码里创建DataGrid控件 (转)

在后代码里创建DataGrid控件 (转)

原创 IT综合 作者:gugu99 时间:2007-08-17 11:17:30 0 删除 编辑
在后代码里创建DataGrid控件 (转)[@more@]在后代码里创建DataGrid控件 XML.sz.luohuedu.NET/">【孟宪会之精彩世界】
在后代码里创建DataGrid控件

本文介绍如何用代码创建DataGrid,并且有四个绑定列和一个模板列,支持排序功能。

代码如下:

C#

CreateDataGrid.ASPx

aspx</a>.cs" AutoEventWireup="true" Inherits="aspx<a href="tag-79-1.html"><a href="leibie-11-1.html">web</a></a>CS.myDataGrid" %> w3c</a>//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>用代码创建DataGrid</title> <meta name="GENERATOR" content="a href="tag-126-1.html""">microsoft</a> <a href="tag-39-1.html">Visual Studio</a> 7.0"> <meta name="CODE_LANGUAGE" content="C#"> <meta name="vs_defaultClientScript" content="a href="tag-133-1.html"""><a href="tag-10-1.html"><a href="leibie-1-1.html">Java</a></a>script</a>"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/a href="tag-340-1.html""">intel</a>lisense/<a href="tag-393-1.html">IE5</a>"> </HEAD> <body> <fo href="tag-415-1.html">RM </a>id="CreateDataGridForm" method="post" runat="server"> <b>用代码创建DataGrid</b> </form> </body> </HTML>

CreateDataGrid.aspx.cs

using System; using System.Configuration; using System.Data; using System.Data.<a href="tag-54-1.html">sql</a>Client; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Drawing; /// <summary> /// CreateDataGrid 的摘要说明。 /// </summary> namespace aspxWebCS { public class myDataGrid : Page { public String sql = "<a href="tag-73-1.html">select</a> FirstName,LastName,HomePhone,Title FROM Employees"; public DataGrid mygrid = new DataGrid(); public String SortExpression; /// <summary> /// 创建一个模板列和一个列模板 /// </summary> public TemplateColumn tm = new TemplateColumn(); public ColumnTemplate mycol = new ColumnTemplate(); //返回DataView public DataView CreateData<a href="tag-162-1.html">source</a> () { string strSql; strSql = "Data Source=.;Initial Catalog=Northwind;User Id=sa;Pass<a href="tag-127-1.html">word</a>=;"; SqlConnection conn = new SqlConnection(strSql); SqlDataAdapter <a href="tag-57-1.html">db</a>_sqladaptor = new SqlDataAdapter(sql,conn); DataSet ds = new DataSet(); db_sqladaptor.Fill(ds,"Employees"); DataView myView = ds.Tables["Employees"].DefaultView; //myView.Sort=SortExpression; //Response.Write(sql); return myView; } /// <summary> /// 处理排序 /// </summary> /// <p></param> /// <p></param> public void Sort_Grid(<a href="tag-252-1.html">object</a> sender, DataGridSortCommandEventArgs e) { SortExpression = e.SortExpression.ToString(); Session["SortField"]=SortExpression.Trim(); if(Session["Order"]==null) Session["Order"] = "ASC"; Session["Order"] = (Session["Order"].ToString()=="DESC")?"ASC":"DESC"; if(Session["SortField"]==null) Session["SortField"] = "FirstName"; sql += " ORDER BY "+Session["SortField"].ToString() + " " + Session["Order"].ToString(); mygrid.DataSource = CreateDataSource(); mygrid.DataBind(); } /// <summary> /// 创建和设置DataGrid属性,这里的属性设置为固定值,但也可以动态设置 /// </summary> /// <returns></returns> public DataGrid MakeGrid() { mygrid.CellPadding=2; mygrid.Attributes.Add("align","center"); mygrid.CellSpacing=0; mygrid.Width=500; mygrid.BorderWidth=1; mygrid.BorderColor=ColorTranslator.FromHtml("Black"); mygrid.AutoGenerateColumns=false; mygrid.ForeColor=ColorTranslator.FromHtml("Black"); mygrid.Font.Size=9; mygrid.Font.Name="宋体"; mygrid.AllowSorting=true; ///sort命令的事件<a href="tag-345-1.html">处理器</a> mygrid.SortCommand += new DataGridSortCommandEventHandler(Sort_Grid); ///设置headerstyle mygrid.HeaderStyle.BackColor=ColorTranslator.FromHtml("Gold"); mygrid.HeaderStyle.ForeColor=ColorTranslator.FromHtml("Black"); mygrid.HeaderStyle.Font.Name="宋体"; mygrid.HeaderStyle.Font.Size=9; mygrid.HeaderStyle.Font.Bold=true; mygrid.HeaderStyle.HorizontalAlign=HorizontalAlign.Center; ///设置alternating style mygrid.AlternatingItemStyle.BackColor=ColorTranslator.FromHtml("Silver"); mygrid.AlternatingItemStyle.ForeColor=ColorTranslator.FromHtml("Black"); ///设置itemstyle mygrid.ItemStyle.HorizontalAlign=HorizontalAlign.Left; ///创建绑定列和属性 BoundColumn FirstName = new BoundColumn(); BoundColumn LastName = new BoundColumn(); BoundColumn HomePhone = new BoundColumn(); BoundColumn Title = new BoundColumn(); FirstName.HeaderText="名字"; FirstName.DataField="FirstName"; FirstName.SortExpression="FirstName"; LastName.HeaderText="姓"; LastName.DataField="LastName"; LastName.SortExpression="LastName"; HomePhone.HeaderText="电话"; HomePhone.DataField="HomePhone"; HomePhone.SortExpression="HomePhone"; Title.HeaderText="职务"; Title.DataField="Title"; Title.SortExpression="Title"; mygrid.Columns.AddAt(0, FirstName); mygrid.Columns.AddAt(1, LastName); mygrid.Columns.AddAt(2, HomePhone); mygrid.Columns.AddAt(3, Title); ///设置模板列属性和ItemStyle模板 tm.HeaderText="**删除信息**"; tm.HeaderStyle.HorizontalAlign=HorizontalAlign.Center; tm.ItemStyle.BackColor = ColorTranslator.FromHtml("#FFF778"); tm.ItemStyle.HorizontalAlign=HorizontalAlign.Center; ///创建列模板。 ///列模板从ITemplate继承 tm.ItemTemplate = mycol; mygrid.Columns.AddAt(4, tm); ///绑定和返回 mygrid.DataSource = CreateDataSource(); mygrid.DataBind(); return mygrid; } } /// ColumnTemplate 从ITemplate继承。 /// "InstantiateIn"定义子控件的属于谁 public class ColumnTemplate : ITemplate { public void InstantiateIn(Control container) { Label myLabel = new Label(); myLabel.Text="点击删除"; CheckBox mycheckbox = new CheckBox(); container.Controls.Add(myLabel); container.Controls.Add(mycheckbox); } } }

结果如下:

2003-11-4004091.gif">


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10748419/viewspace-963743/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3121
  • 访问量
    2644427