我有一个dropdown
类型的列,它是在Ultragrid
内创建的。现在我必须为列添加一些静态值。
//代码
UltraGridColumn = workflowGrid.Rows.Band.Columns("ShowTransactionId")
UltraGridColumn.Header.Caption = "Show TransactionId"
UltraGridColumn.Hidden = False
UltraGridColumn.Style = UltraWinGrid.ColumnStyle.DropDownList
UltraGridColumn.ValueList = 'Code here
这里我必须在列中添加Yes / No.我怎么能这样做?
答案 0 :(得分:2)
这是我的共同要求。我有一个内部实用工具方法,可以动态构建这种价值观。这里我对YES字符串使用布尔值true
,对于NO字符串使用布尔值false
,但是,当然,您应该根据数据源列的实际值更改这些值
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,然后始终返回相同的实例