【问题标题】:Filter GridView Data using DataView for DateRange为 DateRange 使用 DataView 过滤 GridView 数据
【发布时间】:2019-03-26 03:20:28
【问题描述】:

在我的网格视图中,我正在显示一些记录,包括一个日期列,它采用 dd-MMM-yyyy 格式。我有两个用于日期范围的文本框,用于使用 DataView 过滤 GridView。

我已经尝试过的代码

dv.RowFilter = "docket_date IN (#" + FromDate + "#, #" + ToDate + "#)";

此代码返回 docket_date IN (#01-Sep-2018#, #15-Sep-2018#),但没有为此范围选择任何数据

我也试过了

dv.RowFilter = "#" + FromDate + "# >= docket_date OR docket_date <= #" + ToDate + "#";

此代码返回 #01-Sep-2018# >= docket_date OR docket_date 作为结果,但没有为此范围选择数据

注意:我使用 MySql 作为数据库

在我的网格视图中,我有这个日期范围的数据,但我的过滤器查询不起作用

请帮助我找到解决方案。

谢谢

【问题讨论】:

  • dv.RowFilter = "docket_date IN (#" + FromDate + "#, #" + ToDate + "#)"; 这个不会选择范围,只选择给定的 2 个日期值。

标签: c# asp.net gridview dataview


【解决方案1】:

使用像这样的标准 ISO 格式日期时间(2018 年 9 月 1 日):

docket_date >= #2018-09-01# AND docket_date <= #2018-09-15#

有一个快速参考here

【讨论】:

  • 感谢您的回复@Baskar,我更改了日期的格式,但显示的结果相同。在 2018-09-01 和 2018-09-15 之间的范围内,还包括 2018-08-23 的记录。知道为什么吗?
  • @Rohit_Chiki 希望你的字段是日期时间类型?在这种情况下,它应该符合标准。
  • 在两个日期之间需要时必须使用 AND
  • 正如你所建议的那样,我使用了 AND,但现在它只显示两个结果,而且日期也是 2018-08-23。
  • 检查我编辑的答案。日期之间的标准必须是这样的docket_date &gt;= #2018-09-01# AND docket_date &lt;= #2018-09-15#
猜你喜欢
  • 1970-01-01
  • 2016-01-22
  • 2011-08-25
  • 2011-08-28
  • 2018-10-03
  • 2014-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-05-02
相关资源
最近更新 更多