中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > .NET > ASP.NET
在后代码里创建DataGrid控件
作者:未知 时间:2003-10-28 12:12 出处:互联网 责编:chinaitpower
              摘要:暂无
在后代码里创建DataGrid控件

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

代码如下:

C#

CreateDataGrid.aspx

<%@ Page language="c#" EnableViewState = "false"Codebehind="CreateDataGrid.aspx.cs" AutoEventWireup="true" Inherits="aspxWebCS.myDataGrid" %> <script runat="server"> public void Page_Load(Object sender,EventArgs e){ CreateDataGridForm.Controls.Add(MakeGrid()); } </script> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>用代码创建DataGrid</title> <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="CreateDataGridForm" method="post" runat="server"> <div align="center"><b>用代码创建DataGrid</b></div> </form> </body> </HTML>

CreateDataGrid.aspx.cs

using System; using System.Configuration; using System.Data; using System.Data.SqlClient; 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 = "Select 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 CreateDataSource () { string strSql; strSql = "Data Source=.;Initial Catalog=Northwind;User Id=sa;Password=;"; SqlConnection conn = new SqlConnection(strSql); SqlDataAdapter db_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> /// <param name="sender"></param> /// <param name="e"></param> public void Sort_Grid(Object 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命令的事件处理器 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); } } }

结果如下:

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有