Почему datagridview.rowcount не всегда возвращает 0, независимо от количества присутствующих строк? - PullRequest
0 голосов
/ 16 мая 2019

Я создаю объект bindingsource, устанавливаю его источник данных равным datatable, который заполняется данными из базы данных SQL, а затем использую объект bindingsource в качестве источника данных для представления данных.Он работает правильно, и я вижу строки, заполняющие мое представление данных, но я обнаружил, что количество строк в моем просмотре данных всегда было равно 0, независимо от количества присутствующих строк.

Первоначально я устанавливал источник данных представления данных вдатируются напрямую.Основываясь на некоторых комментариях, которые я нашел в DataGridView.Rows.Count равен 0 Сначала я создал объект bindingsource, а затем использовал его в качестве источника данных для моего представления данных.

 // Load the data from SqlDataReader into the data table.
dataTable.Load(dataReader);

// Sets Data Grid View equal to data table
this.dgvQualReports.DataSource = dataTable;

//Populates Data Grid View
dgvQualReports.AutoGenerateColumns = true;





//   BindingSource bindingSource = new BindingSource();
//  bindingSource.DataSource = dataTable;

//   dvgQualReports.DataSource = bindingSource;




// Close the SqlDataReader.
dataReader.Close();

int bs = dvgQualReports.Rows.Count;

Нет сообщения об ошибке, но когда я останавливаю код сразу после последней строки, он имеет bs = 0.Я ожидал, что это будет 1.

1 Ответ

0 голосов
/ 16 мая 2019

Кажется, в вашем коде есть опечатка: this. dgv QualReports.DataSource = dataTable; а также int bs = dvg QualReports.Rows.Count;

Вы уверены, что работаете с тем же DataGridView, разве у вас нет другого в форме?

...