2012-06-12 3 views
0

У меня есть DataGridView в форме окна. Я определил 5 столбцов для этого DataGridView dgv.Восстановленные столбцы в DataGridView

Данные, возвращаемые хранимой процедурой, связаны с данным DataGridView.

  DataTable table1 = returned by a stored procedure in C#; 
     dgv.DataSource = table1; 
     dgv.AutoGenerateColumns = false; 
     dgv = System.Windows.Forms.DataGridViewEditMode.EditProgrammatically; 

Затем в другую кнопку событие. Я хочу переустановить DataGridView источник данных.

 DataTable dt1 = new DataTable(); 

Затем

DataRow dr = dt1.NewRow(); 
      dr["Interval"] = txtBox1.Text; 
      dr["Count"] = txtBox2.Text; 
      dr["AgeBegin"] = txtBox3.Text; 
      dr["AgeEnd"] = txtBox4.Text; 
      dr["Gender"] = txtBox5.Text; 
      dt1.Rows.Add(dr); 
      dgv.DataSource = dt1; 

DT1 иметь только одну строку. Теперь dgv отображает 10 столбцов. Первые 5 столбцов пусты, последние 5 столбцов имеют реальные данные.

Почему? Благодарю.

+0

Каковы заголовки для этих столбцов? Соответствуют ли они вашим заголовкам? –

+0

Попробуйте установить DataPropertyName –

+0

@ K'Leg. Столбцы такие же, но headtext немного отличаются. –

ответ

0

Datagridviews автоматически добавляет вам строки, если нет места для размещения данных. Если вы не скажете об этом не, это не вариант в дизайнере.

dgv.AutoGenerateColumns=false; 

Никогда не сомневайтесь, что у вас это уже есть.

Вам не нужно, но вы пытались очистить dgv, прежде чем переустанавливать его, чтобы попытаться найти проблему?

Вы предопределяете столбцы в своем datagridview? Я хотел бы предложить оставить это поле пустым, чтобы начать и разрешить столбцы AutoGenerate, по крайней мере до тех пор, пока выяснить изъян

1

Вы должны установить AutoGenerateColumns в falseперед тем вы назначаете его к DataSource

DataTable table1 = returned by a stored procedure in C#; 
dgv.AutoGenerateColumns = false; // Before assigning the DataSource 
dgv.DataSource = table1; 
... 
+0

, что будет иметь смысл, но именно когда он изменяет источник данных, возникает проблема –

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