XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子

王朝c#·作者佚名  2006-01-08
宽屏版  字体: |||超大  

XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子

作者:孟宪会 出自:【孟宪会之精彩世界】 发布日期:2004年2月16日 8点58分34秒

结合客户端脚本,我们可以创建出可以拖动列,可以拖动改变列宽度,显示、隐藏列、编辑列的XP风格的 DataGrid,下面就是所有的代码。自己调试时请注意修改eMeng.Exam.UltraGrid路径。

查看例子

UltraGrid.aspx

XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子

XP 风格的可拖动列、可排序、可改变宽度的DataGrid的例子。

UltraGrid.aspx.cs

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

namespace eMeng.Exam.UltraGrid

{

///

/// UltraGrid 的摘要说明。本例子演示了如何创建可排序、可拖放、可调整宽度的XP风格的DataGrid。

/// 出自:【孟宪会之精彩世界】

///

public class UltraGrid : System.Web.UI.Page

{

protected System.Web.UI.HtmlControls.HtmlGenericControl gridRow;

protected System.Web.UI.WebControls.Literal RowItem;

protected System.Web.UI.HtmlControls.HtmlGenericControl coolUltraGrid1;

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

coolUltraGrid1.Attributes.Add("class","coolUltraGrid");

coolUltraGrid1.Attributes.Add("style","WIDTH: 100%; HEIGHT: 400");

coolUltraGrid1.Attributes.Add("borderStyle","2");

coolUltraGrid1.Attributes.Add("altRowColor","oldLace");

coolUltraGrid1.Attributes.Add("selectionStyle","1");

/// 请根据你的数据库的设置,修改这里的数据库连接字符串和查询语句。其它不要修改。

OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\xxx.mdb");

cn.Open();

string sqlstring = "SELECT TOP 30 D.Title As 文档标题,D.CreateDate as 发布时间,S.Title AS 所属栏目 ";

sqlstring += "FROM Document D,Subject S WHERE D.pid=S.id ORDER BY D.CreateDate DESC";

OleDbCommand cmd = new OleDbCommand(sqlstring,cn);

OleDbDataReader dr;

dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);

///

///组合表头

///

int FieldNumber = dr.FieldCount;

int ColWidth,Tmp = 0;

if(FieldNumber == 0)

Response.End();

ColWidth = (int)100/FieldNumber;

string TableHeader = "";

for(int i=0;i"+dr.GetName(i).ToString()+"";

else

TableHeader +=""+dr.GetName(i).ToString()+"";

Tmp+=ColWidth;

}

}

gridRow.InnerHtml=TableHeader;

int RowNumber = 1;

TableHeader = "";

while(dr.Read())

{

TableHeader += "";

for(int i=0;i"+dr.GetValue(i).ToString()+"";

}

TableHeader += "

";

RowNumber++;

}

TableHeader += "

";

RowItem.Text=TableHeader;

cn.Close();

}

#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{

//

// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。

//

InitializeComponent();

base.OnInit(e);

}

///

/// 设计器支持所需的方法 - 不要使用代码编辑器修改

/// 此方法的内容。

///

private void InitializeComponent()

{

this.Load += new System.EventHandler(this.Page_Load);

}

#endregion

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有