Domanda

In ActiveReports, come posso cambiare la formattazione in base ai valori in dati del report?

In particolare, voglio mostrare o nascondere le immagini sulla base di un valore nei dati. Il rapporto viene associato a un elenco di oggetti tramite un insieme alla sua proprietà DataSource. Questi oggetti hanno una proprietà Condition con i valori di "poveri", "Normal", ecc Ho alcune foto nel rapporto che corrispondono alle diverse condizioni, e voglio nascondere tutte le immagini ad eccezione di quello corrispondente al valore.

Devo sottoscrivere l'evento Format per la sezione corpo? Se sì, come posso raggiungere i dati "record corrente"?

È stato utile?

Soluzione

Ok, io ancora non so come ottenere l'oggetto dati corrente, ma ho scoperto che è possibile utilizzare la proprietà Fields del report per recuperare i valori fuori l'oggetto di dati corrente.

Il codice di seguito sottoscrive evento Format della sezione dettagli. Fields["Condition"].Value ottiene il valore della proprietà Condition dell'oggetto dati corrente (che risulta essere un valore di enumerazione).

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

Modifica

Da allora ho imparato che l'accesso alla raccolta di campi da un evento Format è contro le regole ActiveReports di progettazione, perché non funziona in alcuni casi angolo strani. Io uso questo metodo invece: http://www.datadynamics.com /forums/ShowPost.aspx?PostID=133642#133642

DataDynamics ha una richiesta di funzionalità 22786 per consentire l'accesso agli oggetti di dati da eventi definizione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top