站内搜索
分类列表
本类阅读排行
本类推荐文章
广告
为DataGrid添加自定义DataGridColumn类的例子
作者: 来源: 点击: 日期:2007-7-6 0:55:26
DataGrid的模板列可以方便的定制所需要的样式,比如上图:
在编辑状态的时候学院是下拉框,选择了当前的学院,但是如果学院很多,下拉框会很长,找起来也会很麻烦,所以可能需要再增加一个查找的功能。这样一个列完全可以通过模板列来实现,可是如果项目中有很多这样的需求,添加这么多复杂的模板列一来很麻烦,二来也有代码冗余,没有重用性,为此,我们可以尝试定制自己的DataGridColumn(类似已经存在的HyperLinkColumn)来为这个列进行小小的封装。
先建立一个类文件:
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace csdn
{
public class MyColumn:DataGridColumn
{
public string DataTextField;
public string DataValueField;
public DataTable DataSource;
public override void InitializeCell(TableCell cell,int columnIndex,ListItemType itemType)
{
base.InitializeCell(cell,columnIndex,itemType);
switch(itemType)
{
case ListItemType.Header:
cell.Text=this.HeaderText;
break;
case ListItemType.Item:case ListItemType.AlternatingItem:
cell.DataBinding+=new EventHandler(this.cell_ItemDataBinding);
break;
case ListItemType.EditItem:
cell.DataBinding +=new EventHandler(cell_EditItemDataBinding);
using System.Web.UI;
using System.Web.UI.WebControls;
namespace csdn
{
public class MyColumn:DataGridColumn
{
public string DataTextField;
public string DataValueField;
public DataTable DataSource;
public override void InitializeCell(TableCell cell,int columnIndex,ListItemType itemType)
{
base.InitializeCell(cell,columnIndex,itemType);
switch(itemType)
{
case ListItemType.Header:
cell.Text=this.HeaderText;
break;
case ListItemType.Item:case ListItemType.AlternatingItem:
cell.DataBinding+=new EventHandler(this.cell_ItemDataBinding);
break;
case ListItemType.EditItem:
cell.DataBinding +=new EventHandler(cell_EditItemDataBinding);
为DataGrid添加自定义DataGridColumn类的例子 评论
