0

私は、次の場所にある Telerik Reporting のステップバイステップのチュートリアルに取り組んでいます。

http://www.telerik.com/documents/TelerikReporting-LearningGuide.pdf

ラボ: サブレポート セクション (111 ~ 115 ページ) の手順に正確に従いました。このラボでは、Master-Detail レポートを表示します。レポートを実行すると、UI に Boolean Editor (ユーザーが True または False を選択) が表示されます。レポートが読み込まれると、マスター レポートと詳細サブレポートの両方が表示されるようになっています。ユーザーが False を選択すると、サブレポートは非​​表示になります。

マスター/詳細レポートが正しく表示されるようになりました。ただし、サブレポートを非表示にする機能を追加した後、レポートをプレビューすると、「サブレポート 'subReport1' の処理中にエラーが発生しました: 指定されたキャストが無効です」というエラー メッセージが表示されます。問題は、次のステートメントにあります。

(sender as Telerik.Reporting.Processing.SubReport).Visible = (bool)this.ReportParameters["ShowEmployees"].Value;

したがって、私が知る限り、このチュートリアルには誤りがあります。したがって、上記の割り当てステートメントの右側で試みているキャストは無効です。私は次のことを試みましたが失敗しました(それでも例外が発生します)。

(sender as Telerik.Reporting.Processing.SubReport).Visible = Convert.ToBoolean(this.ReportParameters["ShowEmployees"].Value;

ユーザーがブール エディターで False を選択した場合にサブレポートを非表示にするという、私の目標を達成するための代替ソリューションを見つけるために、私は数日間あらゆることを試みてきました。誰か知っていますか

  1. 上記の割り当てステートメントでキャストの問題を解決する方法、または
  2. ユーザーがブール値エディターで False を選択した場合にサブレポートを非表示にする代替ソリューションはありますか?
4

1 に答える 1

1

そのチュートリアルは Telerik Reporting の v.3 以降にあり、それ以降更新されていないと思います。

メイン レポートへの参照を取得し、定義の代わりに処理レポート パラメーターを使用できます。次のコードを試して、レポート パラメーターに基づいてサブレポートを非表示にします (ダミー コード、テストされていないため、アイデアが得られます)。

private void subReport1_ItemDataBound(object sender, System.EventArgs e)
{
    Processing.SubReport subReport = (Processing.SubReport)sender;
    Processing.Report mainRep = (Processing.Report)subReport.Parent;
    subReport.Visible = (bool)mainRep.Parameters["ShowEmployees"].Value;
}

詳細については、こちらをご覧ください: http://www.telerik.com/help/reporting/designing-reports-parameters-programmatic-control.html

于 2013-06-11T09:11:46.337 に答える