我从配置文件中提取了设置名称及其相应的值到有序字典中。该字典包含一个实现了ICollection接口的键和值。我想将这些数据绑定并在DataGridView中显示。我尝试将字符串复制到数组中并显示这些数组,但运行程序时列是空白的,并没有绑定成功。
我也尝试直接将DataGridView源设置为有序字典集合之一(键或值),但也没有得到我想要的结果;列仍然是空白的。不过,第三列的列名为“length”,显示ICollection中条目的长度。但毋庸置疑,我不想要长度,我想要条目本身。
这是我在这个问题中使用的代码:在窗体加载时,我加载配置文件,并且一个私有成员m_Settings拥有所有的键值对。然后我创建一个列表,并分别添加键和值。在将绑定源设置为“data”之后,我运行程序,但我添加的两个列都是空白的。
非常感谢任何帮助或指导!如果需要,我很乐意提供更多信息。
谢谢!
编辑: 这里是已实现myStruct类的修订代码:
我也尝试直接将DataGridView源设置为有序字典集合之一(键或值),但也没有得到我想要的结果;列仍然是空白的。不过,第三列的列名为“length”,显示ICollection中条目的长度。但毋庸置疑,我不想要长度,我想要条目本身。
这是我在这个问题中使用的代码:在窗体加载时,我加载配置文件,并且一个私有成员m_Settings拥有所有的键值对。然后我创建一个列表,并分别添加键和值。在将绑定源设置为“data”之后,我运行程序,但我添加的两个列都是空白的。
private void Form4_Load(object sender, EventArgs e)
{
loadconfigfile(Properties.Settings.Default.Config);
List<Object> data = new List<Object>();
data.Add(m_Settings.Keys);
data.Add(m_Settings.Values);
bindingSource1.DataSource = data;
dataGridView1.DataSource = bindingSource1;
dataGridView1.Refresh();
}
有什么想法可以获取有序字典并显示条目,分成两列标记为“设置”和“值”?我认为列表是DataGridView的兼容数据源,但现在我开始怀疑自己。非常感谢任何帮助或指导!如果需要,我很乐意提供更多信息。
谢谢!
编辑: 这里是已实现myStruct类的修订代码:
List<myStruct> list = new List<myStruct>();
for(int index = 0; index < m_Settings.Count; index++)
{
myStruct pair = new myStruct(keys[index], values[index].ToString());
list.Add(pair);
}
public class myStruct
{
private string Key { get; set; }
private string Value { get; set; }
public myStruct(string key, string value)
{
Key = key;
Value = value;
}
}
然而,当我将数据绑定源设置为列表时,DataGridView中没有任何内容显示,它是空的。有人知道原因吗?