2013-08-02 3 views
0

Моя программа загружает данные из базы данных MySQL в DataGridView. Я хочу скрыть первый столбец (id), но я получаю ошибку ячейки повторного входа.C# dataGridView ошибка повторного запуска

КОД:

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

ОШИБКА:

Operation is not valid because it results in a reentrant call to the SetCurrentCellAddressCore function.

Ошибка также появляется, когда я использую следующую строку:

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

Однако он не появляется, когда я использую эти строки :

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

ИЛИ

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

Я гугле много и не смогли найти причину ошибки. Что происходит, почему он не позволяет мне скрыть первый столбец?

Спасибо

ответ

0

Ошибка не отображается, как только я устанавливаю AutoSizeColumnsMode и AutoSizeRowsMode.

0

сначала вы должны оформить позицию вашего идентификатора отразить в моем SQL, а затем после того, как вы можете использовать

dataGridGlavni.Columns [0] .Visible = ложь;

или независимо от его положения.

+0

Он находится в первом положении. – Orvel

Смежные вопросы