C# 如何在DataGridView筛选器中仅获取日期而不获取时间?

C# 如何在DataGridView筛选器中仅获取日期而不获取时间?,c#,.net,winforms,C#,.net,Winforms,我有一个DataGridView,其中一列是日期列,其值如下: 2020年1月21日09:14 2020年1月20日10:15 我想用文本框中的日期输入来过滤这个数据视图 这是我的代码: string filter = "1 = 1"; if (date_textBox.Text != "") { try { DateTime inputDate = DateTime.Parse(date_textBox.Text); filte

我有一个DataGridView,其中一列是日期列,其值如下:

2020年1月21日09:14

2020年1月20日10:15

我想用文本框中的日期输入来过滤这个数据视图

这是我的代码:

 string filter = "1 = 1";

 if (date_textBox.Text != "")
 {
     try
     {
         DateTime inputDate = DateTime.Parse(date_textBox.Text);

         filter += String.Format(" AND Convert(dateColumn, System.Date) = '{0}'", inputDate.ToShortDateString());
     }
     catch (FormatException)
     {
         //Invalid date, do nothing
     } //try-catch
 } //if

 myDataView.RowFilter = filter; // <=========Error in this line
stringfilter=“1=1”;
如果(日期\u textBox.Text!=“”)
{
尝试
{
DateTime inputDate=DateTime.Parse(date\u textBox.Text);
filter+=String.Format(“AND Convert(dateColumn,System.Date)='{0}',inputDate.ToShortDateString());
}
捕获(格式化异常)
{
//无效日期,不执行任何操作
}//试一试
}//如果

myDataView.RowFilter=filter;// 如果必须使用RowFilter,那么这将起作用(我不推荐,但会起作用):


。对,是一个日期时间。解析我的代码中的内容否,过滤器总是以“1=1”开头。然后,如果文本框中有一些text@CR0N0S.LXIII此属性
myDataView.RowFilter
接受哪些值?Correcct值,示例?
RowFilter
的允许表达式记录在。
if (DateTime.TryParse(date_textBox.Text, out DateTime inputDate))
{
     var filter = $" (dateColumn >= '#{inputDate.ToString("yyyy/MM/dd")}#'"+
                  $" And dateColumn < '#{inputDate.AddDays(1).ToString("yyyy/MM/dd")}#')";

 myDataView.RowFilter = filter;
}
var data = tbl.AsEnumerable() 
 .Where(row => ((DateTime)row["dateColumn"]).Date == inputDate)
 .CopyToDataTable();