C# 无法添加列,因为其CellType属性为null异常
下面的代码有问题。当我使用调试器时,当涉及到以下行时,会出现异常:C# 无法添加列,因为其CellType属性为null异常,c#,datagridview,C#,Datagridview,下面的代码有问题。当我使用调试器时,当涉及到以下行时,会出现异常: dgvCalls.Columns.Insert(1, msisnnColumn); 我得到一个例外: 无法添加列,因为其 CellType属性为空 奇怪的是,我为其他一些DataGridView创建了相同的过程,效果很好 if (!(dgvCalls.Columns.Contains("DirectionImage"))) { directionIconC
dgvCalls.Columns.Insert(1, msisnnColumn);
我得到一个例外:
无法添加列,因为其
CellType属性为空
奇怪的是,我为其他一些DataGridView创建了相同的过程,效果很好
if (!(dgvCalls.Columns.Contains("DirectionImage")))
{
directionIconColumn = new DataGridViewImageColumn();
directionIconColumn.Name = "DirectionImage";
directionIconColumn.HeaderText = "";
dgvCalls.Columns.Insert(0, directionIconColumn);
directionIconColumn.CellTemplate = new DataGridViewImageCell();
}
if (!(dgvCalls.Columns.Contains("msisndColumn")))
{
msisnnColumn = new DataGridViewColumn();
msisnnColumn.Name = "msisndColumn";
msisnnColumn.HeaderText = "Klic";
dgvCalls.Columns.Insert(1, msisnnColumn);
msisnnColumn.CellTemplate = new DataGridViewTextBoxCell();
}
有什么建议吗
dgvCalls.Columns.Insert(1, msisnnColumn);
msisnnColumn.CellTemplate = new DataGridViewTextBoxCell();
试着把这两行翻过来。这可能会奏效。您可以突出显示代码并单击编辑文本区域正上方的0101010小图标,以更易于阅读的格式显示代码。谢谢!它起作用了。我想知道为什么它在顺序不同的其他形式下工作!问题是,由于您只是将msisnnColumn分配给一个新的DataGridViewColumn(),它不知道您想要什么单元格类型,所以它只将其保留为null。因此,当你去做插入时,它爆炸了。但是,如果您首先将CellTemplate分配给TextBoxCell,它就会知道您想要什么。