当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 动态的管理ASP.NET DataGrid数据列

ASP.NET
asp.net下将图片保存到XML文件的方法
asp.net 通过aspnetpager为DataList分页
Asp.Net 动态页面转静态页面主要代码
asp.net下检测远程URL是否存在的三种方法
asp.net(C#)把汉字转化成全拼音函数(全拼)
asp.net下xml当作导航数据源实现动态权限
asp.net Cookie操作类
先装VS再装IIS时出错的解决方法
asp.net 选择excel类型文件,利用Dos命令成批复制文件
Asp.net XML文档进行添加删改操作的实例代码
ASP.NET 页面间数据传递方法小结
asp.net 文件上传与刷新与asp.net页面与iframe之间的数据传输
asp.net Urlrewriter在虚拟主机上的使用方法
Repeater的FooterTemplate中控件内容设置方法
asp.net(c#)做一个网页数据采集工具
ASP.NET调用javascript脚本的常见方法小结
asp.net AutoCompleteExtender的一个简单例子代码
asp.net 光棒效应实现代码
asp.net 数据访问层 存储过程分页语句
Asp.Net Oracle数据的通用操作类

动态的管理ASP.NET DataGrid数据列


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 136 ::
收藏到网摘: n/a

     在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns列;还有一种方式就是在HTML视图模式下更改HTML代码的方式增加Columns列。但是这两种方式都是在设计时进行的,一旦设计完成就无法更改。其实我们也可以在程序运行时动态的增加或者删除Columns列。在这篇文章中,我将向大家介绍如何编程实现在运行时动态的增加和删除Columns列,其实是通过隐藏或者现实Columns列来实现的。
  
  DataGrid 的Columns属性是访问datagrid Columns的关键所在。访问这个属性返回的是DataGridColumnCollection这样的一个集合对象,它包含了所有的DataGrigColumn对象。DataGridColumnCollection提供了增加一个DataGrigColumn对象和删除一个已经存在的DataGrigColumn对象的方法。,我们将使用DataGridColumnCollection的Add方法来增加一个DataGrigColumn对象,从而在运行时动态的增加一列到DataGrid中去。一个DataGrigColumn代表DataGrid的一列,DataGrid的Visible属性用来显示或者隐藏一个列。
  
  好了,下面让大家跟我一起来创建一个DynamicDataGrid的C#的ASP.NET的工程,他有隐藏和显示DataGrid 的每一列的选项。
  
  在我用VS.NET创建的web application里面,我在设计页面上拖放了一个Panel 控件。在这个panel控件上,我放置了一个DataGrid控件,一个DropDownList控件,两个Button控件用于改变DataGrid控件的属性。最后的设计界面看起来是下图这样的。 

  现在我们开始创建两个方法:FillDataGrid()和FillColumnsList()方法。FillDataGrid()用于增加一个列到DataGrid控件和用DataSet数据源来填充它。在这里的我是通过DB.GetDataSet()方法来获取DataSet的。大家可以参照附加的源代码文件(DB.CS)获取更多的细节。
  
  下面的代码说明了CreateDataGrid()的实现。从代码中可以看出,我创建了三个列,用BoundColumn的DataField属性绑定到Dataset的ID,Name和Address字段。BoundColumn类继承自DataGridColumn类。
  
  private void CreateDataGrid()
  {
  // Set DataGrid properties
  DataGrid1.AutoGenerateColumns = false;
  
  // Get a DataSet object filled with data
  DataSet ds = DB.GetDataSet();
  
  // Create ID column & add to DataGrid
  BoundColumn col = new BoundColumn();
  col.HeaderText="User ID";
  col.DataField="ID";
  DataGrid1.Columns.Add(col);
  
  // Create Name column & add to DataGrid
  col = new BoundColumn();
  col.HeaderText="User Name";
  col.DataField="Name";
  DataGrid1.Columns.Add(col);
  
  // Create Address column & add to DataGrid
  col = new BoundColumn();
  col.HeaderText="User Address";
  col.DataField="Address";
  DataGrid1.Columns.Add(col);
  
  // DataGrid data binding
  DataGrid1.DataSource = ds.Tables[0];
  DataGrid1.DataBind();
  }

[1] [2] 下一页