我有一个程序可以将 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]);
但是,当我运行它时,列的名称都说“源代码”