17

我对以下代码有疑问。当我使用调试器时,遇到以下行时出现异常:

dgvCalls.Columns.Insert(1, msisnnColumn);

我得到一个例外:

无法添加列,因为其 CellType 属性为空。

奇怪的是,我为其他一些 DataGridViews 创建了相同的过程,并且效果很好。

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();
                }

有什么建议么?

4

1 回答 1

23
dgvCalls.Columns.Insert(1, msisnnColumn);
msisnnColumn.CellTemplate = new DataGridViewTextBoxCell();

尝试翻转这两行。这可能会奏效。

于 2008-11-06T16:43:09.650 回答