Заполнить DataGridView при условии из базы данных

#c# #mysql #datagridview

#c# #mysql #datagridview

Вопрос:

У меня есть база данных MySQL и DataGridView в C #, и для заполнения DataGridView я делаю следующее:

         schoolDataSet schl = new schoolDataSet();
        schoolDataSetTableAdapters.studentinfoTableAdapter adptr = new schoolDataSetTableAdapters.studentinfoTableAdapter();
        adptr.Fill(schl.studentinfo);
        dataGridView1.DataSource = schl.studentinfo.DefaultView;
  

и нежелательные столбцы я создаю их visible = false из свойств DataGridView, но у меня возникла проблема, если я хочу указать, какие данные (строки) заполнять в DataGridView, например, применяя условие where, например:
fill data in DataGridView WHERE IsActive = 1 итак, могу ли я по-прежнему использовать приведенный выше код с некоторыми изменениями или мне придется написать SQL-запрос и заполнить DataGridView вручную?

Комментарии:

1. Вы можете создать DATAVIEW из своего набора данных и привязать его к своему GridView

2. Пожалуйста, любой другой намек, который я пытаюсь и ищу, но ничего не работает хорошо… любая ссылка или ссылка?

3. посмотрите, поможет ли эта ссылка msdn.microsoft.com/en-us/library/hy5b8exc (v = против 110).aspx

Ответ №1:

После поиска и перепробования множества кодов я получил это следующим образом в простейшем коде:
В приведенном выше коде просто закомментируйте последнюю строку, которая есть dataGridView1.DataSource = schl.studentinfo.DefaultView; , или просто замените ее следующей

 DataView dv = new DataView(schoolDataSet.studentinfo, "IsActive = 'false'", "id", DataViewRowState.CurrentRows);
  

Который создает новый DataView и фильтрует по IsActive столбцу с false value , третий параметр id — сортировать на основе, и, наконец, вы можете написать еще одну строку
dataGridView1.DataSource = dv; , которая укажет DataGridView загружать данные из DataView.

Надеюсь сэкономить чье-то время.
Большое спасибо @Karthik Ganesan