我试过这段代码:
(datagridview1.DataSource as DataTable).Select("date_time=" + Convert.ToDateTime(dtpDate.Text.ToString()));
但我认为它仍然包含时间并让我出错“语法错误:'12' 运算符后缺少操作数。”
我真正想要发生的是过滤数据的日期时间字段而忽略它的时间,只是日期。
这是我的数据网格视图的样子:
1 1 1/24/2013 12:34 AM
1 2 1/24/2013 12:34 AM
2 3 1/24/2013 12:53 AM
3 1/25/2013 12:30 AM
4 1/25/2013 12:53 AM
5 4 1/25/2013 2:10 AM
6 5 1/25/2013 2:26 AM
7 6 1/25/2013 2:39 AM
8 7 1/25/2013 2:40 AM
更新代码:
datagridview1.DataSource = (datagridview1.DataSource as DataTable).AsEnumerable()
.Where(r => r.Field<DateTime?>("date_time").HasValue
&& r.Field<DateTime?>("date_time").Value.Date == dt.Date).CopyToDataTable();