您的位置:首页 > 职场人生

上接扩展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 '|'; }


}

未完待续>>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐