2008-11-19 79 views
1

我一直有一个奇怪的问题与交互式排序和分页ReportViewer内,我不明白。我在aspx页面中使用本地报告定义和ReportViewer控件。我将AsynchRendering设置为true。除了这个问题,一切似乎都很好。下面是重现该问题的步骤:报告服务交互式排序和分页问题与ReportViewer

 
(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页上从来没有发生过

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

其他奇怪的事情:

  • 如果我浏览到其他页面,除了2页从页1,排序顺序是正确的,如果我从除页面1以外的任何其他页面导航到页面2,排序顺序是正确的。
  • 如果我将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的bug ...

回答

1

我有使用AsyncRendering的问题,我的标志是完全不同于你的,但也许这个链接可能会帮助你。

请尝试使用本文中提出的建议,从工作用于我的问题的页面中删除xhtml文档类型。

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

[1]:从页http://the XHTML文档类型

+0

感谢您的答复,艾伦! 是的,我以前读过。我只是觉得它有点愚蠢,你必须删除doctypes来让控件工作。他们应该工作,我们的XHTML和CSS应该验证。我还没有尝试过,但我会让你知道发生了什么。 – gabe 2010-04-16 14:41:50