Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView的日期筛选器_C#_Datetime_Datagridview - Fatal编程技术网

C# DataGridView的日期筛选器

C# DataGridView的日期筛选器,c#,datetime,datagridview,C#,Datetime,Datagridview,我需要为DataGridView制作一个日期过滤器,它通过这段代码获取数据 DataSet dataSet = new DataSet(); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(); OleDbDataAdapter dataAdapter1 = new OleDbDataAdapter(); string query = "select * from Договор"; string

我需要为DataGridView制作一个日期过滤器,它通过这段代码获取数据

    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 = "Код поставщика";
我以前用这段代码过滤数据,但现在不行了,我想是因为DataSource

    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;

我会感谢您的帮助。

我不确定这是否正确,但已经为我解决了

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;

日期不是字符串,因此不清楚为什么必须转换аазазаачааааагаааа107。还有相当数量的其他过度杀伤力。无论如何,允许没有数据落入该范围passed@NatPongjardenlarp,是的,你是对的,不需要转换,但它仍然不起作用,甚至连头都没有了,所以这就是为什么我确信数据源字符串中存在这个问题,我不知道如何修复它。