我正在使用按位枚舉作爲中繼器控件的數據源,其中每行都有一個複選框。當用戶保存數據時,對應於選中框的枚舉值被保存到單個數據庫字段中。遍歷保存的按位枚舉值
但是,當用戶來編輯數據時,顯然我需要預先使用現有值填充中繼器。我可以通過對枚舉和複選框的可能值進行相應處理,以簡單明瞭的方式做到這一點。不過,理想情況下,我真的很喜歡我的代碼保持與數據更改無關:所以如果我更改或添加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