如何将字典对象绑定到Windows窗体中的datagridview?如何将字典对象绑定到Windows窗体gridview
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add(arrFilename[i].fileName,"Found");
dataGridView1.DataSource = result;
dataview网格不绑定。解决办法是什么?
如何将字典对象绑定到Windows窗体中的datagridview?如何将字典对象绑定到Windows窗体gridview
Dictionary<string, string> result = new Dictionary<string, string>();
result.Add(arrFilename[i].fileName,"Found");
dataGridView1.DataSource = result;
dataview网格不绑定。解决办法是什么?
DataGridView.DataSource
需要实现IList
,IListSource
,IBindingList
或IBindingListView
的对象。
由于没有Dictionary
,Dictionary.ValueCollection
或Dictionary.KeyCollection
实施它,您不能直接绑定到它。
如果你只想值的只读列表,你可以将它们添加到List
并绑定到,例如(假设你的词典使用int和字符串作为键和值类型):
List<KeyValuePair<int,string>> list = new List<KeyValuePair<int,string>>();
list.AddRange(myDict.Values);
DataGridView1.DataSource = list;
如果你想做更聪明的事情,那么最简单的解决方案是不要使用Dictionary
作为你的数据结构。你可能会继承你的Dictionary
并实现一个可绑定接口,但这可能比必要的更复杂和复杂。
请参阅DataGridView bound to a generic dictionary by Rory(MSDN forum)。
不能使用字典。而是使用DictionaryEntry的数组。 我认为,因为词典列表中的每个项目都没有已知的类型。
它没有显示错误,但是如果您将组合框设置为字典,它会显示 它不会执行IList
。