2009-08-18 11 views
0

私は2008 ReportViewerコントロールでObjectDataSourceを使用しており、CSVではLinqを使用しています。 ODSには2つのパラメータがあります(SQLは表アダプタを使用してXSDファイルに記述されています)。 Reportviewerは、ボタンをクリックしてレポートを生成した後、出力をレンダリングするのに非常に時間がかかります。それが私の最初の問題です。 (ほとんどの場合は)動作しますが、処理時間は私を心配し、その後の要求は画面に表示された結果を変更していないようです。次の問題は、ODSをCSVにエクスポートするときに、ODSの選択メソッド(以下を参照)でタイムアウト例外が発生していることです。これはODSのパラメータなしで動作しますが、協力したくないパラメータを追加したようです。私はアイデアが新鮮だ、どんな考え?ボタンの後ObjectDataSource.Select With Parametersタイムアウト

<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などを使用していましたが、それはしばらくしていました)、そのコードの中で手作業でパラメータを指定しておいて、レポートのデータソースであるアダプタを提供しました。