0

我的程序将数据从 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;

我google了很多,一直没能找到错误的根源。发生了什么为什么不让我隐藏第一列?

谢谢

4

2 回答 2

0

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

dataGridGlavni.Columns[0].Visible = false;

或任何位置。

于 2013-08-02T11:41:21.897 回答
0

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

于 2013-08-06T15:24:10.923 回答