在vb.net / winforms中,如何将哈希表绑定到下拉列表或任何其他数据源驱动的控件? 这是winforms,wpf还是asp.net? [更新:啊…… winforms ;-p] winforms希望数据是IList(或间接地,通过IListSource) – 所
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}}); }