在没有数据源的情况下在ComboBox上设置DisplayMember和ValueMember

遗传基因

我想只有4个值的aDisplayMember和aValueMemberComboBox保持一致。

是否可以不使用DataTableasDataSource也可以不创建类?

我想要一些类似的东西:

ValueMember= "Fixed"  
DisplayMember= "Specific and unique number"

ValueMember= "Multiple"  
DisplayMember= "Multiple and different numbers"

ValueMember= "Repeated"  
DisplayMember= "One number repeated x times"
普萨·庞杰伦德拉普(PssaPøngjǣrdenlarp)

从根本上讲,您不能做自己想做的事情:

ValueMember= "Fixed"  
DisplayMember= "Specific and unique number"

Value-和(DisplayMember不是用于指定文字值),而是用于在其他内容(例如类)中指示属性名称


不使用DataSource(标题)与不使用类(问题文本)是不同的。有创建类的替代方法:

现有的NET类型

您可以使用现有的NETKeyValuePair类将值链接到名称:

cbox.Items.Add(New KeyValuePair(Of String, String)("Specific", 
         "Specific and unique number"))
cbox.Items.Add(New KeyValuePair(Of String, String)("Multiple", 
         "Multiple and different numbers"))
cbox.Items.Add(New KeyValuePair(Of String, String)("Repeated", 
         "One number repeated x times"))

cbox.ValueMember = "Key"
cbox.DisplayMember = "Value"

没有DataSource-数据在items集合中。还有Tuple另一个答案中解释的


匿名类型

使用一个字符串作为另一个字符串的键是很奇怪的。通常,在代码中,您会希望避免打字错误引起的错误。在某处键入“ Fized”会破坏您的代码。一个Enum更有意义:

Private Enum ValueStyle
    Specific = 0
    Multiple = 1
    Repeated = 2
End Enum

现在,您可以创建一个List链接用户描述和Enum常量的:

' fuller text descr of the enum for the user
Dim descr As String() = {"Specific and unique number",
                         "Multiple and different numbers",
                         "One number repeated x times"}
' get enum values into an array of ValueStyle
Dim values = [Enum].GetValues(GetType(ValueStyle)).Cast(Of ValueStyle).ToArray

' create a List of anon objects from the descr() and values()
Dim lst = values.Select( Function (q) New With
                       {.Value = q, .Name = descr (q)}
                    ).ToList()
    
cboPicker.ValueMember = "Value"
cboPicker.DisplayMember = "Name"
cboPicker.DataSource = lst

这将创建一个匿名类型-一个没有类的对象-带有映射到Enum和description数组的Name和Value属性。如果这些Enum值不是连续的(例如{8,65,99}),则列表的构建必须不同。

这将创建一个匿名类型对象的临时集合,并将其分配为DataSource。您将无法访问其他方法中NameValue属性,因为无法将匿名类型传递给其他方法。但是用户将看到所需的文本,并且NET / VB将提供作为枚举值的SelectedValue使用SelectedValue更改的事件:

' name user sees == cboPicker.Text
' value == cboPicker.SelectedValue boxed as Object

Dim userChoice As ValueStyle = CType(cboPicker.SelectedValue, ValueStyle)
If userChoice = ValueStyle.Specific Then
    '...
ElseIf userChoice = ValueStyle.Repeated Then
    '...
End If

请注意,该代码不是使用“ Fixed”作为字符串进行测试,而是使用枚举,但仍具有可读性。

MSDN:匿名类型(Visual Basic)


那些符合不需要新课程的标准,但请考虑:

Friend Class NameValuePair
    Public Property Name As String
    Public Property Value As Int32

    Public Sub New(n As String, v As Int32)
        Name = n
        Value = v
    End Sub

    Public Overrides Function ToString() As String
        Return Name
    End Function

End Class

该类非常简单,并且在将anyName与any关联时几乎可以无限重用Value它可以与任何数量的项目中的任何数量的基于列表的控件一起使用。创建和使用它们的列表的代码比使用其他方法更简单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在没有数据源的情况下将项目添加到Kendo MultiSelect

来自分类Dev

在没有数据源的情况下创建多个Excel图表的平均值

来自分类Dev

在没有容器的情况下将数据源设置为JPA

来自分类Dev

没有数据源的Jasperreport

来自分类Dev

访问的用户在没有数据库的情况下在ASP.NET中计数

来自分类Dev

在没有数据存储的情况下在AWS上部署JuJu charm

来自分类Dev

在没有数据库提交的情况下在页面之间传递休眠会话对象

来自分类Dev

访问的用户在没有数据库的情况下在ASP.NET中计数

来自分类Dev

为什么在没有URL的情况下数据源可以正常工作?

来自分类Dev

Angular MatTable中没有数据源检测

来自分类Dev

没有数据源的FormView插入,编辑,更新

来自分类Dev

在没有数据源的Wildfly中启动.war

来自分类Dev

combobox C#displaymember valuemember数据集

来自分类Dev

在没有ActionBarSherlock的情况下在Actionbar ShareActionProvider上设置自定义共享图标

来自分类Dev

在没有ACL的情况下在应用程序/缓存上设置权限

来自分类Dev

在没有外部 IP 的情况下在 GKE 上设置内部服务

来自分类Dev

如何在没有数据库连接的情况下在Spring中正确运行所有Junit测试

来自分类Dev

是否可以在没有任何数据源的情况下将临时数据放入datagridview

来自分类Dev

在没有私有数据的情况下发布设置的最佳做法是什么?

来自分类Dev

在没有 UWP 的情况下在 Windows 10 上获取传感器数据

来自分类Dev

在没有Xcode的情况下在AppStore上提交应用

来自分类Dev

在没有UIDocumentInteractionController的情况下在Instagram / WhatsApp上共享

来自分类Dev

在没有 sapply 的情况下在向量上运行函数

来自分类Dev

与具有数据源(ComboBox)的控件的跨线程工作

来自分类Dev

单独的UICollectionView数据源和委托没有被调用

来自分类Dev

当数据源没有数据时,自定义UIPickerView崩溃

来自分类Dev

在不提供数据源的情况下在Spring Boot应用程序中运行JUnit单元测试

来自分类Dev

DataGridView 中的 C# ComboBox 与 valuemember 和 displaymember

来自分类Dev

如何在没有数组的情况下在 UITableView 中显示 UITableView Cell?

Related 相关文章

  1. 1

    在没有数据源的情况下将项目添加到Kendo MultiSelect

  2. 2

    在没有数据源的情况下创建多个Excel图表的平均值

  3. 3

    在没有容器的情况下将数据源设置为JPA

  4. 4

    没有数据源的Jasperreport

  5. 5

    访问的用户在没有数据库的情况下在ASP.NET中计数

  6. 6

    在没有数据存储的情况下在AWS上部署JuJu charm

  7. 7

    在没有数据库提交的情况下在页面之间传递休眠会话对象

  8. 8

    访问的用户在没有数据库的情况下在ASP.NET中计数

  9. 9

    为什么在没有URL的情况下数据源可以正常工作?

  10. 10

    Angular MatTable中没有数据源检测

  11. 11

    没有数据源的FormView插入,编辑,更新

  12. 12

    在没有数据源的Wildfly中启动.war

  13. 13

    combobox C#displaymember valuemember数据集

  14. 14

    在没有ActionBarSherlock的情况下在Actionbar ShareActionProvider上设置自定义共享图标

  15. 15

    在没有ACL的情况下在应用程序/缓存上设置权限

  16. 16

    在没有外部 IP 的情况下在 GKE 上设置内部服务

  17. 17

    如何在没有数据库连接的情况下在Spring中正确运行所有Junit测试

  18. 18

    是否可以在没有任何数据源的情况下将临时数据放入datagridview

  19. 19

    在没有私有数据的情况下发布设置的最佳做法是什么?

  20. 20

    在没有 UWP 的情况下在 Windows 10 上获取传感器数据

  21. 21

    在没有Xcode的情况下在AppStore上提交应用

  22. 22

    在没有UIDocumentInteractionController的情况下在Instagram / WhatsApp上共享

  23. 23

    在没有 sapply 的情况下在向量上运行函数

  24. 24

    与具有数据源(ComboBox)的控件的跨线程工作

  25. 25

    单独的UICollectionView数据源和委托没有被调用

  26. 26

    当数据源没有数据时,自定义UIPickerView崩溃

  27. 27

    在不提供数据源的情况下在Spring Boot应用程序中运行JUnit单元测试

  28. 28

    DataGridView 中的 C# ComboBox 与 valuemember 和 displaymember

  29. 29

    如何在没有数组的情况下在 UITableView 中显示 UITableView Cell?

热门标签

归档