C#dataGridView重入错误

时间:2013-08-02 10:12:59

标签: c# .net datagridview

我的程序将MySQL数据库中的数据加载到DataGridView。我想要隐藏第一列(id列),但我收到了重入单元格错误。

CODE:

void dataGridGlavni_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e)
    {
        if (this.dataGridGlavni.Columns[e.ColumnIndex].Name == "id")
        {
            this.dataGridGlavni.Columns[e.ColumnIndex].Visible = false; // <<<< error
        }
        if (this.dataGridGlavni.Columns[e.ColumnIndex].Name == "Plate za mesec")
        {
            GlavniForm.ShortFormDateFormat(e);
        }
    }

ERROR:

  

操作无效,因为它导致对SetCurrentCellAddressCore函数的可重入调用。

使用以下行时也会出现错误:

this.dataGridGlavni.Columns[0].Visible = false;

但是当我使用这些行时它不会出现:

this.dataGridGlavni.Columns[1].Visible = false;

OR

this.dataGridGlavni.Columns["Plate za mesec"].Visible = false;

我google了很多,但却找不到错误的来源。发生了什么,为什么它不让我隐藏第一列?

谢谢

2 个答案:

答案 0 :(得分:0)

你应首先检查你的id的位置反映在我的sql中然后你可以使用

dataGridGlavni.Columns [0] .Visible = false;

或其任何位置。

答案 1 :(得分:0)

设置AutoSizeColumnsMode和AutoSizeRowsMo​​de后,错误未显示。