【发布时间】:2012-12-04 20:07:39
【问题描述】:
我有一个程序可以将 XML 文件中的字段读取到字典中。我想根据字典中的值在 dataGridView 中命名和创建列。问题是,直到运行时我才知道字典中的值将是什么,以及以什么顺序。有没有办法以编程方式执行此操作,并指定它们将成为哪种类型的列(如组合框、文本框等)?
custXML=
doc.Descendants("DT100")
.ToDictionary(d => (int)d.Element("import_seq"),
d => (string)d.Element("display_name"));
其中 custXML 是一个字典,其中 import_seq 作为键,display_name 作为值。这是我尝试添加到我的 datagridview 的内容(有 64 列,其中一些可能是空的):
DataGridViewColumn[] foo = new DataGridViewColumn[64];
for (int i = 0; i < 63; i++)
foo[i] = new DataGridViewColumn();
foreach (KeyValuePair<int, string> item in custXML)
{
for (int i = 0; i < 63; i++)
foo[i].HeaderText = item.Value.ToString();
}
for (int i = 0; i < 63; i++)
dataGridView1.Columns.Add(foo[i]);
但是,当我运行它时,列的名称都说“源代码”
【问题讨论】:
-
您能否提供一个设计时代码示例,以便我们查看您的 XML 结构?
标签: c# winforms datagridview