ASP.Net中的自定义控件

2008-08-14 10:54:31.0     浏览:3497     来源:中国IT实验室
关键词:  ASP.Net     自定义控件  

类CheckBoxColumn继承于模板列TemplateColumn,它实现DataGrid控件中仅包含CheckBox控件的模板列CheckBoxColumn。模板列CheckBoxColumn实现两种模板列,即只读的模板列和可编辑的模板列,它们分别由构造函数CheckBoxColumn(String Name)和CheckBoxColumn(bool Immediate Postback,String Name)实现。类CheckBoxColumn中的构造函数都创建一个子项CheckBoxItem,并根据模板列的属性设置子项的名称和是否为只读属性;类CheckBoxColumn还定义了子项的事件CheckedChanged,该事件在子项中的控件CheckBox的选择项改变时触发;类 CheckBoxColumn定义了回传属性AutoPostBack、数据域属性DataField。类CheckBoxColumn的程序代码如下:

public class CheckBoxColumn :System.Web.UI.WebControls.TemplateColumn
{
//


// 初始化CheckBoxColumn.
//

public CheckBoxColumn(String Name)
{
//设置控件为只读
viewItem = new CheckBoxItem(false,Name); // SAW was false
this.ItemTemplate = viewItem as ITemplate;
//设置控件为可编辑的
editItem = new CheckBoxItem(true,Name);
this.EditItemTemplate = editItem as ITemplate;
}
//
// 初始化CheckBoxColumn,并设置控件的回传属性
//

public CheckBoxColumn(bool ImmediatePostback,String Name)
{
//设置控件为只读
viewItem = new CheckBoxItem(ImmediatePostback,Name);
this.ItemTemplate = viewItem as ITemplate;
//设置控件为可编辑的
editItem = new CheckBoxItem(true,Name);
this.EditItemTemplate = editItem as ITemplate;
AutoPostBack = ImmediatePostback;
}
//
// 设置控件CheckBoxColumn的事件
//

public event EventHandler CheckedChanged
{
add
{ //添加事件

viewItem.CheckedChanged += value;
editItem.CheckedChanged += value;
}
remove
{ //移除事件
viewItem.CheckedChanged -= value;
editItem.CheckedChanged -= value;
}
}
//


// 定义控件的AutoPostBack属性
//

public bool AutoPostBack
{
set{viewItem.AutoPostBack = value;editItem.AutoPostBack = value;}
get{return viewItem.AutoPostBack;}
}
//
// 定义控件的DataField属性
//

public string DataField
{
get{return viewItem.DataField;}
set{viewItem.DataField = value;editItem.DataField = value;}
}
//
// 定义控件的viewItem
//

private CheckBoxItem viewItem;
//
// 定义控件的editItem
//

private CheckBoxItem editItem;
}

[上一页]   [第1页]   [第2页]   [第3页]   [第4页]   [第5页]   [第6页]   [第7页]   [下一页]