Фильтр dataGridView по дате

99
07 января 2021, 19:40

Нужно сделать фильтр по дате, таблица заполняется через следующий код:

    DataSet dataSet = new DataSet();
    OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
    OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter();
    string query = "select * from Договор";
    string query1 = "select * from Поставщики";
    conn = new OleDbConnection(conn_string);
    dataAdapter.SelectCommand = new OleDbCommand(query, conn);
    dataAdapter1.SelectCommand = new OleDbCommand(query1, conn);
    dataAdapter.TableMappings.Add("Table", "Договор");
    dataAdapter1.TableMappings.Add("Table", "Поставщики");
    dataAdapter.Fill(dataSet);
    dataAdapter1.Fill(dataSet);
    BindingSource dogSource = new BindingSource();
    dogSource.DataSource = dataSet;
    dogSource.DataMember = "Договор";
    dataGridView1.DataSource = dogSource;
    BindingSource postSource = new BindingSource();
    postSource.DataSource = dataSet;
    postSource.DataMember = "Поставщики";
    DataGridViewComboBoxColumn comboColumn = new DataGridViewComboBoxColumn();
    comboColumn.HeaderText = "Поставщики";
    comboColumn.DataSource = postSource;
    comboColumn.DataPropertyName = "Код поставщика";
    comboColumn.DisplayMember = "Название";
    comboColumn.ValueMember = "Код поставщика";

Раньше везде делал фильтрацию с помощью,

    DataView dv = new DataView(dt);
    dv.RowFilter = string.Format(" CONVERT([Дата заключения], 'System.DateTime') >= '{0:dd.MM.yyyy}' AND CONVERT([Дата заключения], 'System.DateTime') <= '{0:dd.MM.yyyy}'",
    dateTimePicker1.Value.ToShortDateString());;
    dataGridView1.DataSource=dv;

но сейчас такое не работает, скорее всего из-за DataSource. Я к сожалению в этом не мастер, буду благодарен за помощь.

Answer 1

Не уверен, что код верный с точки зрения языка, но работает как надо.

        DataTable all = dataSet.Tables[0];
        DataView dv = new DataView(all);
        dv.RowFilter = string.Format(" [Дата заключения] >= '{0:dd.MM.yyyy}' AND [Дата заключения] <= '{0:dd.MM.yyyy}'", dateTimePicker1.Value.ToShortDateString());
        dataGridView1.DataSource=dv;
READ ALSO
Python Работа с JSON в MySQL Стоит ли?

Python Работа с JSON в MySQL Стоит ли?

Как происходит процесс добавления/извлечения JSON данных из MySQL? Достаточно ли их просто записывать в виде строки, а потом извлекать, превращать...

101
Создание строк в MySQL

Создание строк в MySQL

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

118
Как можно принять JSON?

Как можно принять JSON?

Подскажите пожалуйста как в PHP принимается JSON? Просто, я тут решил потестить в битриксе24 исходящие веб хуки написал API наnet но он почему-то...

134