CheckBoxList 控件是使用在项目复选的状态,我们可以使用一个整数值来描述复选项目,项目值以 2 的 N 次方来描述。例如
选项一 = 2^0 = 1
选项二 = 2^1 = 2
选项三 = 2^2 = 4
选项四 = 2^3 = 8
... 依此类推
当复选了「选项一」及「选项三」,则复选值为 1+4=5。当复选了「选项二」及「选项四」,则复选值为 2+8=10。若要使用上述的方式来描述复选项目,一般要自行撰写程序代码来处理。本文将扩展 CheckBoxList 控件,新增一个 FlagValue 属性,直接可以双向系结这个复选值。
扩展 CheckBoxList 控件
继承 CheckBoxList 命名为 TBCheckBoxList,新增一个 FlagValue 属性。当取得 FlagValue 值时,会使用 GetFlagValue 方法取的复选的项目对应的值,当设定 FlagValue 值时,会使用 SetFlagValue 方法将值反应至复选项目。
1
Imports System.Web.UI.WebControls
2
Imports System.ComponentModel
3
4
End Namespace
2
3
4
测试程序
在页面上放置 TBCheckBoxList 控件,我们只要使用 FlagValue 属性值,就可以轻易的取得或设定复选值。
1
End Sub
如果 TBCheckBoxList.FlagValue 需要系结字段时,只需直接设定即可