展GridView控件-弹出确认框
[IT168 技术文档]扩展GridView控件(三)——单击命令按钮弹出确认框
作者:webabcd
介绍
给按钮增加单击弹出确认框的功能是经常要用到的,我们一般是通过在RowDataBound事件里编码的方式实现,麻烦,所以扩展一下。
控件开发
1、新建一个继承自GridView的类。

/**//// <summary>
/// 继承自GridView
/// </summary>
[ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>")]
public class SmartGridView : GridView

{
}2、新建一个ConfirmButton类,有两个属性

/**//// <summary>
/// ConfirmButton 的摘要说明。
/// </summary>
[ToolboxItem(false)]
[TypeConverter(typeof(ConfirmButtonConverter))]
public class ConfirmButton
{
private string _commandName;
/**//// <summary>
/// 按钮的CommandName
/// </summary>
public string CommandName
{
get
{ return this._commandName; }
set
{ this._commandName = value; }
}
private string _confirmMessage;
/**//// <summary>
/// 确认框弹出的信息
/// </summary>
public string ConfirmMessage
{
get
{ return this._confirmMessage; }
set
{ this._confirmMessage = value; }
}
}3、新建一个继承自CollectionBase的类ConfirmButtons

/**//// <summary>
/// ProjectGroups 的摘要说明。
/// 注意要继承自CollectionBase
/// </summary>
[
ToolboxItem(false),
ParseChildren(true)
]
public class ConfirmButtons : CollectionBase
{
/**//// <summary>
/// 构造函数
/// </summary>
public ConfirmButtons()
: base()
{
}

/**//// <summary>
/// 实现IList接口
/// 获取或设置指定索引处的元素。
/// </summary>
/// <param name="index">要获得或设置的元素从零开始的索引</param>
/// <returns></returns>
public ConfirmButton this[int index]
{
get
{
return (ConfirmButton)base.List[index];
}
set
{
base.List[index] = (ConfirmButton)value;
}
}

/**//// <summary>
/// 实现IList接口
/// 将某项添加到 System.Collections.IList 中。
/// </summary>
/// <param name="item">要添加到 System.Collections.IList 的 System.Object。</param>
public void Add(ConfirmButton item)
{
base.List.Add(item);
}

/**//// <summary>
/// 实现IList接口
/// 从 System.Collections.IList 中移除特定对象的第一个匹配项。
/// </summary>
/// <param name="index">要从 System.Collections.IList 移除的 System.Object</param>
public void Remove(int index)
{
if (index > -1 && index < base.Count)
{
base.List.RemoveAt(index);
}
}
}0
相关文章