0

Crystal レポートのパラメーター名として @Month を作成し、レポート ヘッダー セクションに挿入するだけです。

レポートを実行すると、常に 1 つのボックスが表示されてパラメーターが要求されます。コードを渡す方法。私の既存のコードは以下です

MyReport rpt = new MyReport();
var srcData = ; //here i added my LINQ statement to select the data
rpt.SetDataSource(srcData);
ParameterDiscreteValue pdValue = new ParameterDiscreteValue();
pdValue.Value = combo2.SelectedValue;
rpt.ParameterFields["@Month"].CurrentValues.Add(pdValue);
this.ReportViewer1.ReportSource = rpt;
this.ReportViewer1.RefreshReport();

私はどこで間違いを犯しましたか?

4

3 に答える 3

1

こんにちは、crystalreportviewer の RefershReport() メソッドを削除するだけで解決しました

私はから見つけます:http://www.it-sideways.com/2011/10/how-to-disable-parameter-prompt-for.html

于 2012-12-08T11:30:49.540 に答える
0

機能しない場合は、タイプミスか何かを示唆しています。rpt.ParameterFields を分析してみてください (ブレークポイントを設定して監視します)。パラメータ名は正しいですか?データ・タイプ?

于 2012-12-07T17:50:20.800 に答える
0

パラメータの追加にも問題がありました。これが私が働いたものの例です:

string ponumber = Request.QueryString["ponumber"].ToString();
string receiptno = Request.QueryString["receiptno"].ToString();

    // Put Away Report

    CrystalReportSource CrystalReportSource1 = new CrystalReportSource();
    CrystalReportViewer CrystalReportViewer1 = new CrystalReportViewer();

    CrystalReportViewer1.ReportSource = CrystalReportSource1;
    CrystalReportViewer1.EnableParameterPrompt = false;
    CrystalReportSource1.Report.FileName = "Report3.rpt";
    CrystalReportSource1.EnableCaching = false;

    // This will set the values of my two parameters in the report
    CrystalReportSource1.ReportDocument.SetParameterValue(0, ponumber);
    CrystalReportSource1.ReportDocument.SetParameterValue(1, receiptno);



    TableLogOnInfo logOnInfo = new TableLogOnInfo();

    logOnInfo.ConnectionInfo.ServerName = ConfigurationManager.AppSettings["WarehouseReportServerName"];
    logOnInfo.ConnectionInfo.DatabaseName = ConfigurationManager.AppSettings["WarehouseReportDatabaseName"];
    logOnInfo.ConnectionInfo.UserID = ConfigurationManager.AppSettings["WarehouseReportUserID"];
    logOnInfo.ConnectionInfo.Password = ConfigurationManager.AppSettings["WarehouseReportPassword"];

    TableLogOnInfos infos = new TableLogOnInfos();
    infos.Add(logOnInfo);
    CrystalReportViewer1.LogOnInfo = infos;

    maindiv.Controls.Add(CrystalReportSource1);
    maindiv.Controls.Add(CrystalReportViewer1);


    CrystalReportViewer1.DataBind();
于 2012-12-07T19:07:06.620 に答える