0

次のコードに基づいてこのレポートを読み込めません:

        ReportDocument crystalReport = new ReportDocument();
        ParameterField paramField = new ParameterField();
        ParameterFields paramFields = new ParameterFields();
        ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();

        paramField.Name = "Param";
        paramDiscreteValue.Value = TextBox1.Text.ToString();
        paramField.CurrentValues.Add(paramDiscreteValue);
        paramFields.Add(paramField);

        CrystalReportViewer1.ParameterFieldInfo = paramFields;
        crystalReport.Load(Server.MapPath("CrystalReport.rpt"));
        crystalReport.SetDatabaseLogon("username","password","servername","db");
        CrystalReportViewer1.ReportSource = crystalReport;

「リクエストしたレポートには、さらに詳しい情報が必要です」とだけ表示されます。レポートに必要なパラメーターと、ユーザー名、pw、サーバー、およびデータベースを渡します。どんな提案も役に立ちます。ありがとう!

4

1 に答える 1

3

私はこれを自分でやっている最中なので、あなたの痛みを分かち合います。

私は持っている:-

CrystalReportSource1.ReportDocument.SetParameterValue(fieldNo, fieldValue);

fieldNo繰り返しからどこに来たのですか:-

CrystalReportSource1.ReportDocument.DataDefinition.ParameterFields

これは私のレポートでうまくいくようです。

ところで、異なるバージョンでは、fieldValue のタイプに対してさまざまなレベルの選択性があります。

Craig が言うように、サブレポートのパラメーターを設定する必要がありますが、同様に、リンクされたパラメーターの値を設定しないようにする必要があります。

リンクされたパラメーターは次の方法で検出できます。

bool linked = CrystalReportSource1.ReportDocument.DataDefinition.ParameterFields[fieldNo].IsLinked();
于 2012-05-16T16:36:43.283 に答える