C#数据网格视图重入错误

本文关键字:错误 视图 网格 数据 数据网 | 更新日期: 2023-09-27 18:26:00

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

代码:

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

错误:

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

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

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

然而,当我使用以下行时,它不会出现:

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

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

我在谷歌上搜索了很多,但都没能找到错误的来源。发生了什么,为什么它不让我隐藏第一列?

感谢

C#数据网格视图重入错误

您应该首先检查您的id反射在我的sql中的位置,然后在您可以使用之后

dataGridGlavni.Columns[0].Visible=false;

或者不管它的位置如何。

设置AutoSizeColumnsMode和AutoSizeRowsMode后,错误没有显示。