[英]Is there “DisplayMember” and “ValueMember” like Properties for CheckedListBox control? C# winforms
我有这个DataTable
具有以下结构:
ID | VALUE
----------------
1 | Item 1
2 | Item 2
3 | Item 3
我通过将每行添加为项目,将DataTable
的值显示到CheckedListBox
控件中。
但是我如何包含身份证? 是否有“DisplayMember”和“ValueMember”,如CheckedListBox控件的属性?
是的, CheckedListBox
上有DisplayMember
和ValueMember
属性,尽管ValueMember
的文档声称它“与此类无关”。
这是一个显示DisplayMember
工作的快速示例:
using System;
using System.Drawing;
using System.Windows.Forms;
class Test
{
static void Main()
{
CheckedListBox clb = new CheckedListBox {
DisplayMember = "Foo",
ValueMember = "Bar",
Items = {
new { Foo = "Hello", Bar = 10 },
new { Foo = "There", Bar = 20 }
}
};
Form f = new Form
{
Controls = { clb }
};
Application.Run(f);
}
}
另请注意,文档说明:
您无法将数据绑定到CheckedListBox。 请改用ComboBox或ListBox。 有关更多信息,请参见如何:将Windows窗体ComboBox或ListBox控件绑定到数据。
鉴于上面的代码是有效的,大概是在谈论使用DataSource
更高级的数据绑定?
DataSource,DisplayMember和ValueMember属性可用于此控件,但它们不会显示在IntelliSense中: MSDN
你应该可以使用它们。
是的,CheckedListBox中有'display member'和'value member'属性。
您可以像在组合框中一样设置属性:
public void PopulateListBox(System.Windows.Forms.CheckedListBox lb, string displayMember, string valueMember, DataTable data)
{
lb.DataSource = data; // where data is the datatable. datatable filled up with //data fetched from database.
lb.ValueMember = valueMember;
lb.DisplayMember = displayMember;
}
法国文件说:Cettepropriéténes'appliquepasàcetteclasse。 “此酒店不适用于此课程”。 在美国文档中看不到这一小段文字......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.