2009-08-18 76 views
0

我使用ObjectDataSource与2008年ReportViewer控件和Linq到CSV。 ODS有两个参数(SQL在带有表格适配器的XSD文件中详细说明)。在单击按钮生成报告后,Reportviewer需要很长时间才能显示输出。这是我的第一个问题。即使它工作(大部分时间),处理时间也会让我感到担忧,后续请求似乎不会改变屏幕上显示的结果。下一个问题是,当我将ODS导出为CSV时,我在ODS的select方法(如下所示)上得到超时异常。这适用于不带参数的ODS,但现在似乎我添加了它不想合作的参数。我是新鲜的想法,任何想法?ObjectDataSource.Select与参数超时

<asp:ObjectDataSource ID="obsGetDataAllCustomers" runat="server" 
    SelectMethod="GetDataAllCustomers" 

    TypeName="my.myAdapter.AllCustomers" 
    OldValuesParameterFormatString="original_{0}" > 
    <SelectParameters> 
     <asp:ControlParameter ControlID="StartDate" Name="Start" PropertyName="Text" 
      Type="DateTime" /> 
     <asp:ControlParameter ControlID="EndDate" Name="_End" PropertyName="Text" 
      Type="DateTime" /> 
    </SelectParameters> 
</asp:ObjectDataSource> 

后点击按钮,查看报告 -

rvAllCustomers.LocalReport.Refresh() 

导出为CSV(添加项目回到然后由工作代码处理列表) -

For Each dr As DataRow In CType(obs.Select(), DataView).Table.Rows 
    l.Add(New FullOrderOutput(dr)) 
Next 

回答

0

不幸的是(或幸运的是,我想在这种情况下 - 在这里大量的数据)我没有找到这个问题的直接解决方案。相反,我使用了一个查询(可能使用SQLAdapter或类似的东西 - 这已经过去了一段时间),并在该位代码中手动指定参数,然后如果我记得,将报表的数据源提供给适配器。