2017-01-27 1 views
-1

メインレポートを実行するストアドプロシージャがあります。メインCrystalレポートからSubReportのパラメータを渡すにはどうすればいいですか?

  HPR rpt = new HPR(); 
      rpt.SetDataSource(objdt.fetch("EXECUTE sp_hpr @DATE ='" + dateTimePicker1.Value.ToString("yyyy-MM-dd 00:00:00") + "'", objdt.strconnection)); 
      crystalReportViewer1.ReportSource = rpt; 
      crystalReportViewer1.Refresh(); 

上記のクエリは私に関連する詳細を取得します。

メインレポートのフッターに1行だけ表示したいのですが、最初にストアドプロシージャに別の選択クエリを追加しましたが、それがうまくいかず、誰かが私に言ったSubReportを使ってくれましたが、 tを知る:

  1. にもDateTimePickerが必要なサブレポートの2番目のストアドプロシージャを実行するにはどうすればよいですか?
  2. サブレポートにDateTimePickerの値を渡すにはどうすればよいですか?

プログラムを実行するたびにダイアログが表示され、パラメータ値を入力するように求められます。その後、別のログイン情報が表示されます。

助けてください!

+0

をそれを得ました。 –

答えて

0

答えはあなたの質問に関連している場合は[OK]を、私は答えのようにマークし、

  HPR rpt = new HPR(); // Crystal Report Object 
      rpt.SetDataSource(objdt.fetch("EXECUTE sp_hpr @DATE ='" + dateTimePicker1.Value.ToString("yyyy-MM-dd 00:00:00") + "'", objdt.strconnection)); 

      //This is how you run your sub report in main report while passing @date parameter in stored procedure. "rptSub" is your sub report name ! 

      rpt.Subreports["rptSub"].SetDataSource(objdt.fetch("EXECUTE sp_hpr_avg @DATE ='" + dateTimePicker1.Value.ToString("yyyy-MM-dd 00:00:00") + "'", objdt.strconnection)); 

      crystalReportViewer1.ReportSource = rpt; 
      crystalReportViewer1.Refresh(); 
0

サブレポートに、メインレポートからパラメータを渡すには、次の手順に従い

  1. でフィールドエクスプローラの「パラメータフィールド」のセクションを右クリックして、メインレポートの新しいPARAMTERの@mainParamを作成します。主な報告書。
  2. 同じ方法でサブレポートに新しいパラメータ@subParamを作成します(サブレポートにパラメータがある場合は不要です)
  3. あなたのデザインウィンドウのサブレポートを右クリックします主な報告書。 [サブレポートリンクを変更]オプションが表示されます。
  4. オプションをクリックして@mainParamを選択し、 '>'ボタンを使用してサブレポートに転送します。
  5. サブレポートの適切なフィールドをマップに選択して
  6. をクリックします。
関連する問題