快速业务通道

使用ASP.Net中的自定义控件

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
0)
{
switch (t.ToString())
{ //设置控件的值
case "System.Boolean":

if(( data == "True")||(data == "true")){box.Checked = true;}
break;
default:break;
}
}
}
// <summary>
// 定义控件的属性readOnly
// </summary>
private bool readOnly = true;
}

类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
{
// <summary>
// 初始化CheckBoxColumn.
// </summary>
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;
}
// <summary>
// 初始化CheckBoxColumn,并设置控件的回传属性
// </summary>
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;
}
// <summary>
// 设置控件CheckBoxColumn的事件
// </summary>

public event EventHandler CheckedChanged
{
add
{ //添加事件
viewItem.CheckedChanged += value;
editItem.CheckedChanged += value;
}
remove
{ //移除事件
viewItem.CheckedChanged -= value;
editItem.CheckedChanged -= value;
}
}
// <summary>
// 定义控件的AutoPostBack属性
// </summary>
public bool AutoPostBack
{
set{viewItem.AutoPostBack = value;editItem.AutoPostBack = value;}
get{return viewItem.AutoPostBack;}
}
// <summary>
// 定义控件的DataField属性
// </summary>
public string DataField
{
get{return viewItem.DataField;}
set{viewItem.DataField = value;editItem.DataField = value;}
}
// <summary>
// 定义控件的viewItem
// </summary>
private CheckBoxItem viewItem;
// <summary>
// 定义控件的editItem
// </summary>
private CheckBoxItem editItem;
}

3.设计页面TestCheckBox.aspx

把应用程序Example_12_5的默认页面WebForm1.aspx重命名为 TestCheckBox.aspx,并在页面上添加1个DataGrid控件、1个Button控件和1个Lable控件,它们的名称分别为 myDataGrid、ShowMsg和CheckMsg。

控件myDataGrid用来显示数据;控件ShowMsg用来获取DataGrid控件中被选择的子项中的所有文本;控件CheckMsg用来显示控件ShowMsg获取的文本。页面TestCheckBox.aspx的设计界面如图12-13所示。

使用ASP.Net中的自定义控件

图12-13 页面TestCheckBox.aspx的设计界面

页面TestCheckBox.aspx的HTML设计代码如

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号