Activereports Bedingte Formatierung - Bild Sichtbarkeit
-
20-09-2019 - |
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?
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.