如何在datagrid中过滤日期值

Ped*_*dro 1 c# datagrid

我无法在数据网格中过滤日期值.这是我的代码:

DataTable dbdataset;
DataView DV = new DataView(dbdataset);
DV.RowFilter = string.Format("Data LIKE '%{0}%'", textBox1.Text);
dataGridView1.DataSource = DV;
Run Code Online (Sandbox Code Playgroud)

我总是得到这个错误:

Unable to Perform Operation 'Like' on System.DateTime and System.String
Run Code Online (Sandbox Code Playgroud)

请有人帮帮我吗?

dar*_*rio 5

您不能LIKEDateTime数据类型上使用运算符.尝试使用相等的运算符.

DV.RowFilter = string.Format("Data = '{0}'", textBox1.Text);
Run Code Online (Sandbox Code Playgroud)

但是,要小心里面的东西textBox1.Text.它必须可转换为DateTime数据类型.还要记住,DateTime它还有Time一部分,而不仅仅是Date一部分.

或者您可能希望尝试此操作来过滤特定日期中的所有行:

DateTime dt = Convert.ToDateTime(textBox1.Text);
DV.RowFilter = string.Format("Data > '{0}' AND Data < '{1}'", dt.AddDays(-1).ToString("yyyyMMdd"), dt.AddDays(1).ToString("yyyyMMdd"));
Run Code Online (Sandbox Code Playgroud)