質問

ある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を持っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top