0

2008ReportViewerコントロールとLinqtoCSVでObjectDataSourceを使用しています。ODSには2つのパラメーターがあります(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 に答える