我正在使用按位枚举作为中继器控件的数据源,其中每行都有一个复选框。当用户保存数据时,对应于选中框的枚举值被保存到单个数据库字段中。遍历保存的按位枚举值
但是,当用户来编辑数据时,显然我需要预先使用现有值填充中继器。我可以通过对枚举和复选框的可能值进行相应处理,以简单明了的方式做到这一点。不过,理想情况下,我真的很喜欢我的代码保持与数据更改无关:所以如果我更改或添加Enum中的值,我的代码仍然可以工作,而无需更改控件中的代码。
看起来很明显的事情是尝试迭代枚举字段中的现有值,一旦我从数据库中取回它。换句话说,如果保存的值对应于enum中几个选项中的两个选项,那么我需要循环访问这两个选项。但是,我可以看到没有可用于执行此操作的方法或属性。任何人都可以将我指向正确的方向吗?
可能有助于理解这一点的一个示例是,我可以通过将其转换为字符串并将其分开来得到我想要的效果,但它很笨拙(comsPrefs是所讨论的枚举)
Dim selectedPrefs As String = comsPrefs.ToString()
Dim splitStr() As String = selectedPrefs.Split(","c)
Dim i As Integer
For i = 0 To splitStr.Length - 1
'do some cool stuff
Next
也许代码示例可以阐明你正在尝试做什么? – 2010-09-28 15:22:19