这是我的普遍要求。我有一个内部实用程序方法可以即时构建这种价值列表。在这里,我true
对 YES 字符串使用布尔值,false
对 NO 字符串使用布尔值,但是,当然,您应该根据数据源列的实际值更改这些值
Public Shared Function YesNoValueList() As Infragistics.Win.ValueList
Dim vlYN = new Infragistics.Win.ValueList()
vlYN.ValueListItems.Add(false, "NO")
vlYN.ValueListItems.Add(true, "YES")
vlYN.Key = "_YES_NO_"
return vlYN
End Sub
....
UltraGridColumn.ValueList = InfragisticsHelper.YesNoValueList()
编辑显然这个 ValueList 对你的程序的性能影响不大,因此你可以在每次需要它时调用这个方法,但是如果你真的想要,你可以在 InfragisticsHelper 类中像这样有一个全局静态变量
Private Shared Infragistics.Win.ValueList _yes_no_list
然后将上面的代码更改为
Public Shared Function YesNoValueList() As Infragistics.Win.ValueList
if _yes_no_list Is Nothing Then
Dim vlYN = new Infragistics.Win.ValueList()
vlYN.ValueListItems.Add(false, "NO")
vlYN.ValueListItems.Add(true, "YES")
vlYN.Key = "_YES_NO_"
_yes_no_list = vlYN
End If
return _yes_no_list
End Sub
通过这种方式,您在第一次使用时构建 ValueList,然后您总是返回相同的实例