在 C# 中,可以使用
BindingSource
过滤数据并显示在
DataGridView
中。如果您需要根据日期范围过滤数据,可以使用
BindingSource.Filter
属性结合 SQL
BETWEEN
语句来实现。
下面是一个示例代码,假设您的
DataGridView
中包含一个名为
dateColumn
的日期列,您需要过滤出 2022 年 1 月 1 日至 2022 年 2 月 1 日之间的数据:
DateTime startDate = new DateTime(2022, 1, 1);
DateTime endDate = new DateTime(2022, 2, 1);
string filter = string.Format("Convert([{0}], 'System.DateTime') BETWEEN #{1}# AND #{2}#", "dateColumn", startDate, endDate);
bindingSource.Filter = filter;
在上面的代码中,我们使用 Convert
函数将 dateColumn
转换为 System.DateTime
类型,然后使用 BETWEEN
语句来过滤指定日期范围内的数据。最后将 filter
字符串赋值给 bindingSource.Filter
属性,就可以过滤数据并在 DataGridView
中显示了。
需要注意的是,BETWEEN
语句使用的是 SQL Server 的日期格式,即 yyyy-MM-dd
,所以我们需要将日期转换为这种格式。另外,使用 Convert
函数将日期列转换为 System.DateTime
类型可以确保日期比较正确,否则可能会出现比较错误的情况。
希望这些信息对您有帮助。