0

我正在使用带有 2008 ReportViewer 控件和 Linq to CSV 的 ObjectDataSource。ODS 有两个参数(SQL 在带有表适配器的 XSD 文件中拼写出来)。单击按钮生成报告后,Reportviewer 需要很长时间才能呈现输出。这是我的第一个问题。即使它有效(大部分时间),处理时间让我担心,后续请求似乎并没有改变屏幕上显示的结果。下一个问题是,当我将 ODS 导出为 CSV 时,我在 ODS 的 select 方法上遇到超时异常(如下所示)。这适用于没有参数的 ODS,但现在我似乎添加了它不想合作的参数。我的想法很新鲜,有什么想法吗?

<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
4

1 回答 1

0

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

于 2010-03-23T02:58:18.023 回答