为DataGrid 写一个 DropDownListColumn

作者:袖梨 2022-06-30
Net下有一个类DataGridColumn
作为 DataGrid 控件的不同列类型的基类。
有关此类型所有成员的列表,请参阅 DataGridColumn 成员。
System.Object
System.Web.UI.WebControls.DataGridColumn
System.Web.UI.WebControls.BoundColumn
System.Web.UI.WebControls.ButtonColumn
System.Web.UI.WebControls.EditCommandColumn
System.Web.UI.WebControls.HyperLinkColumn
System.Web.UI.WebControls.TemplateColumn
我们完成可以写一个继承DataGirdColumn的类,这样就成了。DropDownListColumn,CheckBoxListColumn等。

控件的代码如下。
using System;
using System.Web.UI;
using System.Web.UI.WebControls ;
using System.Collections ;
using System.Data ;
namespace CustomColumn
{
///
/// DataGridCustomColumn 的摘要说明。
///

public class DropDownListColumn :System.Web.UI.WebControls.DataGridColumn
{
//数据源
public DataTable DataSource ;
//显示的文本字段
public string DataTextField ;
//
public string DataValueField ;
//DataGrid中要绑定的字段
public string DataField ;
public string DataShowField;

public DropDownListColumn()
{
//
// TODO: 在此处添加构造函数逻辑
//

}
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(cell_ItemDataBinding);
break;
case ListItemType.EditItem :
cell.DataBinding +=new EventHandler(cell_EditItemDataBinding);
//========================
DropDownList drp = new DropDownList();

相关文章

精彩推荐