0

page_init() で Crystal レポートのコードを記述しましたが、正常に動作しますが、レポート ページ インデックスを切り替えると、レポートの 2 ページ目をロードするときに、コントロールが再びページに移動することに気付きました。読み込み、レポート全体のクエリが再度実行されます。

スイッチ ケースを作成し、クエリ文字列からレポートを読み込む名前を取得しました。レポートの読み込み時間を最小限に抑える方法はありますか?

セッションはより良い考えですか?

(!Ispostaback) でコードを記述した場合、最初のページのみが読み込まれ、2 ページ目を切り替えようとすると、利用可能なリソースがありませんというエラーが表示されます。

 protected void Page_Init(object sender, EventArgs e)
    {
        try
        {
            String test = Request.QueryString["ReportType"];
            ReportDocument report = new ReportDocument();
            switch (testCondition)
            {
                   case "Report":
                    var rpt1 = new LenderCompanyActionReport(); 
                    String lcarParam1 = Request.QueryString["Param1"];
                    String lcarParam2 = Request.QueryString["Param2"];
                    String lcarParam3 = Request.QueryString["Param3"];
                    String lcarParam4 = Request.QueryString["Param4"];
                    String lcarParam5 = Request.QueryString["Param5"];
                    List<Reportclass> lst2 = new ReportMethod().GetReport(lcarParam1, lcarParam2, lcarParam3, lcarParam4, lcarParam5);
                    rpt1.SetDataSource(lst2);
                    CRReportViewer.ReportSource = rpt1;
                    break;
}
4

1 に答える 1