上接扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
2007-01-08 08:54
633 查看
上接>>
4、新建一个继承自CollectionBase的类CheckboxAlls
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
namespace YYControls.SmartGridView
{
/// <summary>
/// CheckboxAlls 的摘要说明。
/// 注意要继承自CollectionBase
/// </summary>
[
ToolboxItem(false),
ParseChildren(true)
]
public class CheckboxAlls : CollectionBase
{
/// <summary>
/// 构造函数
/// </summary>
public CheckboxAlls()
: base()
{
}
/// <summary>
/// 实现IList接口
/// 获取或设置指定索引处的元素。
/// </summary>
/// <param name="index">要获得或设置的元素从零开始的索引</param>
/// <returns></returns>
public CheckboxAll this[int index]
{
get
{
return (CheckboxAll)base.List[index];
}
set
{
base.List[index] = (CheckboxAll)value;
}
}
/// <summary>
/// 实现IList接口
/// 将某项添加到 System.Collections.IList 中。
/// </summary>
/// <param name="item">要添加到 System.Collections.IList 的 System.Object。</param>
public void Add(CheckboxAll 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);
}
}
}
}
5、在继承自GridView的类中加一个复杂对象属性,该复杂对象就是第4步创建的那个CheckboxAlls
private CheckboxAlls _checkboxAlls;
/// <summary>
/// 复选框组集合 一个组由一个 全选复选框 和多个 项复选框组成
/// </summary>
[
PersistenceMode(PersistenceMode.InnerProperty),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
Description("复选框组集合 一个组由一个 全选复选框 和多个 项复选框组成"),
Category("扩展")
]
public virtual CheckboxAlls CheckboxAlls
{
get
{
if (_checkboxAlls == null)
{
_checkboxAlls = new CheckboxAlls();
}
return _checkboxAlls;
}
}
6、声明一些内部属性
/// <summary>
/// 隐藏字段的ID,用于存每组的全选复选框ID
/// </summary>
protected string HiddenCheckboxAllID
{
get { return "hdn_checkboxAll"; }
}
/// <summary>
/// 隐藏字段的ID,用于存每组的项复选框ID
/// </summary>
protected string HiddenCheckboxItemID
{
get { return "hdn_checkboxItem"; }
}
/// <summary>
/// 组分隔符,一个 全选复选框 和其对应的n个 项复选框 为一个组
/// </summary>
protected char GroupSeparator
{
get { return ','; }
}
/// <summary>
/// 项分隔符,项复选框 每个项之间的分隔符
/// </summary>
protected char ItemSeparator
{
get { return '|'; }
}
未完待续>>
4、新建一个继承自CollectionBase的类CheckboxAlls
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
namespace YYControls.SmartGridView
{
/// <summary>
/// CheckboxAlls 的摘要说明。
/// 注意要继承自CollectionBase
/// </summary>
[
ToolboxItem(false),
ParseChildren(true)
]
public class CheckboxAlls : CollectionBase
{
/// <summary>
/// 构造函数
/// </summary>
public CheckboxAlls()
: base()
{
}
/// <summary>
/// 实现IList接口
/// 获取或设置指定索引处的元素。
/// </summary>
/// <param name="index">要获得或设置的元素从零开始的索引</param>
/// <returns></returns>
public CheckboxAll this[int index]
{
get
{
return (CheckboxAll)base.List[index];
}
set
{
base.List[index] = (CheckboxAll)value;
}
}
/// <summary>
/// 实现IList接口
/// 将某项添加到 System.Collections.IList 中。
/// </summary>
/// <param name="item">要添加到 System.Collections.IList 的 System.Object。</param>
public void Add(CheckboxAll 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);
}
}
}
}
5、在继承自GridView的类中加一个复杂对象属性,该复杂对象就是第4步创建的那个CheckboxAlls
private CheckboxAlls _checkboxAlls;
/// <summary>
/// 复选框组集合 一个组由一个 全选复选框 和多个 项复选框组成
/// </summary>
[
PersistenceMode(PersistenceMode.InnerProperty),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content),
Description("复选框组集合 一个组由一个 全选复选框 和多个 项复选框组成"),
Category("扩展")
]
public virtual CheckboxAlls CheckboxAlls
{
get
{
if (_checkboxAlls == null)
{
_checkboxAlls = new CheckboxAlls();
}
return _checkboxAlls;
}
}
6、声明一些内部属性
/// <summary>
/// 隐藏字段的ID,用于存每组的全选复选框ID
/// </summary>
protected string HiddenCheckboxAllID
{
get { return "hdn_checkboxAll"; }
}
/// <summary>
/// 隐藏字段的ID,用于存每组的项复选框ID
/// </summary>
protected string HiddenCheckboxItemID
{
get { return "hdn_checkboxItem"; }
}
/// <summary>
/// 组分隔符,一个 全选复选框 和其对应的n个 项复选框 为一个组
/// </summary>
protected char GroupSeparator
{
get { return ','; }
}
/// <summary>
/// 项分隔符,项复选框 每个项之间的分隔符
/// </summary>
protected char ItemSeparator
{
get { return '|'; }
}
未完待续>>
相关文章推荐
- 上接扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展GridView控件(4) - 联动复选框(复选框的全选和取消全选)
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)(转)
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)
- DEV控件中GridView中的复选框与CheckBox实现联动的全选功能
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)
- 扩展TreeView控件(1) - 联动复选框(复选框的全选和取消全选)
- 上接扩展GridView控件(7) - 行的指定复选框选中时改变行的样式
- 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式
- GridView控件中模板列CheckBox全选、反选、取消
- 扩展GridView控件 行的指定复选框选中时改变行的样式
- 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式
- 扩展GridView控件(7) - 行的指定复选框选中时改变行的样式
- GridView的全选/取消全选(二)--完美联动版(源码,截图)