当前位置 : 主页 > 编程语言 > c语言 >

.net – 如何将哈希表绑定到下拉列表?

来源:互联网 收集:自由互联 发布时间:2021-06-24
在vb.net / winforms中,如何将哈希表绑定到下拉列表或任何其他数据源驱动的控件? 这是winforms,wpf还是asp.net? [更新:啊…… winforms ;-p] winforms希望数据是IList(或间接地,通过IListSource) – 所
在vb.net / winforms中,如何将哈希表绑定到下拉列表或任何其他数据源驱动的控件? 这是winforms,wpf还是asp.net? [更新:啊…… winforms ;-p]

winforms希望数据是IList(或间接地,通过IListSource) – 所以我猜测(从评论中)你正在使用winforms.没有内置的类字典集合实现IList,但说实话并不重要:如果你是数据绑定,那么卷可能相当小,所以常规列表应该没问题.

最佳选择类似于List< T>.或BindingList< T>,其中T具有您要绑定的所有属性.这是一个选择吗?如果你坚持1.1(因为你提到HashTable而不是Dictionary<,>),那么使用ArrayList.

示例(在C#中):

class MyData
{
    public int Key { get; set; }
    public string Text { get; set; }
}
[STAThread]
static void Main()
{
    var data = new List<MyData>
    {
        new MyData { Key = 1, Text = "abc"},
        new MyData { Key = 2, Text = "def"},
        new MyData { Key = 3, Text = "ghi"},
    };
    ComboBox cbo = new ComboBox
    {
            DataSource = data,
            DisplayMember = "Text",
            ValueMember = "Key"
    };
    cbo.SelectedValueChanged += delegate {
        Debug.WriteLine(cbo.SelectedValue);
    };
    Application.Run(new Form {Controls = {cbo}});
}
网友评论