代码之家  ›  专栏  ›  技术社区  ›  gabe

ReportViewer中的Reporting Services交互式排序和分页问题

  •  1
  • gabe  · 技术社区  · 16 年前

    我在ReportViewer中遇到了一个奇怪的交互式排序和分页问题,我无法弄清楚。我正在aspx页面中使用本地报表定义和ReportViewer控件。我已将AsynchRendering设置为true。除了这个问题,一切似乎都很好。以下是重现问题的步骤:

    (page 1 before all sorts)
    COL1 | COL2
      a     1
      c     3
      b     2
    

    1) 在第1页,按COL1升序排序 -排序正确

    (page 1)
    COL1 | COL2
      a     1
      b     2
      c     3
    

    2) 导航到第2页 -排序正确

    (page 2)
    COL1 | COL2
      d     4
      e     5
      f     6
    

    3) 按X列降序排序(执行此操作后,它会自动返回到第1页) -排序正确

    (page 1)
    COL1 | COL2
      z     26
      y     25
      w     24
    

    4) 再次导航到第2页 -排序不正确;数据仍然按升序排序,就像在第2页上从未发生过排序点击一样

    (第2页)
    COL1 | COL2
    d 4
    e 5
    f 6
    

    其他奇怪的事情:

    • 如果我从第1页导航到第2页以外的任何其他页面,则排序顺序是正确的,如果我从除第1页以外的其他任何页面导航到第二页,则排序方向是正确的。
    • 如果我将AsyncRendering设置为false,我根本没有这个问题。不过,我需要将AsyncRendering设置为true。
    • 这个问题只发生在IE6和IE7中。我在Firefox或Chrome中不会遇到这种情况。
    • 这是最奇怪的一个=>这个问题只有在我部署到web服务器后才会发生。如果我在计算机上的Visual Studio 2008开发服务器上运行它,一切都会毫无例外地完美运行。

    这是一个问题,因为我工作的公司几乎只使用IE6/IE7,这种排序功能是必需的,如果我不使用AsyncRendering,页面会太慢。

    如有任何帮助,我们将不胜感激。

    (评论来自我在有足够的声誉可以发表评论之前所做的回答): 关于这件事,我还注意到了另一件事。使用fiddler,我观察了每次排序点击和导航点击时的http请求/响应,我注意到从第1页导航到第2页时没有http GET请求。所有其他导航点击和排序点击都会发出GET请求,然后用相应的响应刷新html。如果在发生另一次排序后从页面1导航到页面2时没有GET请求,则页面将不会刷新为当前排序顺序。在我看来,这似乎是一个ReportViewer AJAX错误。。。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Alan Featherston    16 年前

    我在使用AsyncRendering时遇到了问题,我的问题与你的完全不同,但也许这个链接可以帮助你。

    尝试使用本文中提出的建议,从页面中删除xhtml-doctype可以解决我的问题。

    [ http://msdn.microsoft.com/en-us/library/ms252090(VS.80).aspx][1]

    1. http://the 页面中的xhtml-doctype