Frage

In Activereports, wie kann ich die Formatierung basierend auf Werten in der Berichtsdaten ändern?

Im Einzelnen möchte ich Bilder zeigen oder verbergen basierend auf einem Wert in den Daten. Der Bericht wird über einen Satz seiner Eigenschaft Datasource auf eine Liste von Objekten gebunden. Diese Objekte haben eine Condition Eigenschaft mit den Werten „Schlecht“, „Normal“, etc. Ich habe einige Bilder in dem Bericht, dass entsprechen den unterschiedlichen Bedingungen, und ich möchte, dass alle Bilder mit Ausnahme des einen verstecken dem Wert entspricht.

Soll ich abonniere das Format Ereignis für den Detailabschnitt? Wenn ja, wie bekomme ich die „aktuelle Datensatz“ Daten?

War es hilfreich?

Lösung

Ok, ich weiß noch nicht, wie das aktuelle Datenobjekt zu erhalten, aber ich entdecken, dass Sie den Berichts des Fields Eigenschaft verwenden, können Werte aus dem aktuellen Datenobjekt abgerufen werden.

Der folgende Code schließt sich der Format Ereignis des Detailbereichs. Fields["Condition"].Value erhält den Wert des aktuellen Condition Eigenschaft des Datenobjekts (die ein Enum-Wert sein geschieht).

    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);
    }

Edit:

Ich habe da gelernt, dass die Felder Sammlung von einem Format-Ereignis ist der Zugriff gegen die Active Design-Regeln, weil sie nicht in bestimmten Fällen seltsame Ecke funktioniert. Ich verwende jetzt diese Methode anstelle: http://www.datadynamics.com /forums/ShowPost.aspx?PostID=133642#133642

DataDynamics hat eine Feature-Anfrage 22786 Zugriff auf die Datenobjekte von Format Ereignissen zur Verfügung zu stellen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top