我有以下代码:
for (int i = 0; i < COLUMNS.Count; i++)
{
DataGridViewColumn column = new DataGridViewColumn()
{
Name = COLUMNS.ElementAt(i).Key,
HeaderText = COLUMNS.ElementAt(i).Value,
Width = 60
};
operationsDataGridView.Columns.Add(column);
}
我希望它足够清楚,我正在遍历列名和列标题的词典,并将它们添加为 DataGridViewColumn 实例到DataGridView。
然而,程序只循环一次,它应循环 9 次(我已经调试过了,而COLUMNS.Count实际上是 9 )
因此,只添加了第一列,如图所示:
对于调试输出,会出现以下奇怪的消息:
我确定 它可以解决此问题 。
如果我将代码更改为:
for (int i = 0; i < COLUMNS.Count; i++)
{
operationsDataGridView.Columns.Add(COLUMNS.ElementAt(i).Key,
COLUMNS.ElementAt(i).Value);
}
(我认为,基本上相同),该程序精细 !!
答案 0 :(得分:1)
我能够在我的结尾重现这个错误,但我也得到了一个例外,“至少有一个DataGridView控件的列没有单元格模板。”
如果您将循环更改为DataGridViewColumn column = new DataGridViewTextBoxColumn()
,它可能会起作用(至少在我的末尾修复它)。看起来.add
方法具有两个参数默认为此类型的列。