【问题标题】:RDLC - "String Not Recognized As A Valid DateTime" ErrorRDLC - “字符串未被识别为有效日期时间”错误
【发布时间】:2023-04-01 16:15:02
【问题描述】:

我知道有很多关于 SO 的问题非常像这样,但似乎没有一个完全相同。

我有一个 ASP.NET 页面,在该页面上添加了一个 ReportViewer 控件来显示和 RDLC 本地报告。报表的数据源设置为页面上的 SQL 数据源,该数据源根据页面上的两个文本框过滤日期。但是,报告本身没有参数,它不包含显示或在其数据集中显示日期/时间的字段,并且根本没有过滤器。

当我查看该页面时,由于今天的日期(8 月 15 日)作为美国格式日期 (MM/dd/yyyy) 无效,并且被用作日期过滤器之一,因此我收到“字符串未被识别为一个有效的日期时间”在我的报告查看器中。我不知道为什么报告关心页面上文本框中的日期 - 除了通过数据源之外,它没有以任何方式链接到它。

出于兴趣,我创建了一个没有日期过滤器的新数据源,只是简单、简单地检索客户信息并将其设置为报告的数据源,但我仍然收到错误消息。就好像reportviewer 在没有被告知的情况下验证文本框中的日期 - 并且弄错了!

我还使用日期过滤的数据源在页面中添加了一个 GridView,它工作得很好,证明 SQL 数据源本身可以毫无问题地从数据库中检索信息。

这只是愚蠢的报表查看器控件!有什么办法让它闭嘴并停止检查与它无关的文本框中的日期?!

【问题讨论】:

  • 能否包含声明 SQLDataSource 的 ASP 代码?
  • 没关系,我这两天搞定了!通过将报告属性中的语言设置为“en-GB”,它不再抱怨日期的格式,尽管我仍然不明白为什么它首先要检查它们。我无法结束自己的问题,因为我太新了。
  • 将该解释作为您自己问题的答案,并标记为答案。我认为这是相当标准的做法 =)

标签: asp.net sql reportviewer rdlc


【解决方案1】:

没关系,我两天后就知道了!通过将报告属性中的语言设置为“en-GB”,它不再抱怨日期的格式,尽管我仍然不明白为什么它首先要检查它们。我无法结束自己的问题,因为我太新了。

【讨论】:

    【解决方案2】:

    这和电脑的地区和语言设置有关。

    【讨论】:

      猜你喜欢
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 2014-06-09
      • 1970-01-01
      相关资源
      最近更新 更多