あるActiveReports条件付き書式 - 画像の可視性
-
20-09-2019 - |
質問
あるActiveReportsでは、どのように私は、レポートデータの値に基づいて書式を変更できますか?
具体的には、私は、データの値に基づいて画像を表示または非表示にします。報告書は、そのDataSourceプロパティにセットを介してオブジェクトのリストにバインドされます。これらのオブジェクトは、私はさまざまな条件に対応したレポートでいくつかの写真を持っている値を「悪い」、「ノーマル」、などとCondition
プロパティを持っている、と私は値に対応するものを除くすべての画像を非表示にしたいです。
私は、詳細セクションのためのFormat
イベントをサブスクライブする必要がありますか?もしそうなら、どのように私は、「現在のレコード」のデータを取得できますか?
解決
[OK]を、私はまだ現在のデータオブジェクトを取得する方法を知りませんが、私はあなたが現在のデータオブジェクトオフ値を取得するには、レポートの Fields
プロパティを使用することができることを発見しました。
のコードは以下の詳細セクションの Format
イベントにサブスクライブ。 Fields["Condition"].Value
は(列挙値であることを起こるもの)現在のデータオブジェクトのCondition
プロパティの値を取得します。
private void detail_Format(object sender, EventArgs e)
{
Condition? condition = Fields["Condition"].Value as Condition?;
conditionUnknownPicture.Visible = (condition == Condition.Unknown);
conditionPoorPicture.Visible = (condition == Condition.Poor);
conditionNormalPicture.Visible = (condition == Condition.Normal);
conditionNewPicture.Visible = (condition == Condition.New);
}
の編集の
私は、以来、それが特定の奇妙なコーナーケースでは動作しませんので、フォーマットイベントからFieldsコレクションにアクセスする、あるActiveReportsの設計ルールに反していることを学びました。私は今、代わりにこのメソッドを使用します。 http://www.datadynamics.com /forums/ShowPost.aspx?PostID=133642#133642する
DataDynamicsは、書式イベントからのデータオブジェクトへのアクセスを提供する機能要求22786を持っています。