C'è un modo per ottenere l'accesso programmatico alle colonne di una sezione ActiveReports particolare?
-
04-10-2019 - |
Domanda
Ho un rapporto di dati Dynamics ActiveReports per .NET. In questa relazione mi programmazione impostando la proprietà ColumnCount della sezione corpo a X. La sezione dei dettagli ha un testo databound.
La proprietà ColumnDirection della sezione Dettaglio è impostata AcrossDown e quindi il meccanismo di associazione dati compilare automaticamente tutti i dati dopo l'impostazione del DataSource e DataMember.
Ecco il codice ...
Public Sub RunReport
Dim count As Integer = 0
' ... get count
Detail1.ColumnCount = count
Me.DataSource = ds
Me.DataMember = ds.Tables(0).TableName
End Sub
Questo codice funziona bene ei dati vengono compilati automaticamente attraverso il rapporto.
Ora ho bisogno di modificare il rapporto e il cerchio o evidenziare uno degli elementi che è auto-compilato tra le colonne nel rapporto.
non riesco a trovare un modo per accedere a livello di codice le colonne generate automaticamente in modo da poter girare su un bordo o disegnare un cerchio o qualcosa del genere. Tutte le idee come potrei farlo?
Seth
Soluzione
È possibile attivare un bordo impostando le proprietà del controllo in caso formato. Ad esempio, se si desidera impostare il bordo di una casella di testo quando il suo valore è inferiore a zero, si potrebbe usare qualcosa come il seguente codice:
private void detail_Format(object sender, System.EventArgs eArgs)
{
if (this.TextBox1.Value < 0) {
this.TextBox1.Border.BottomColor = System.Drawing.Color.Blue;
this.TextBox1.Border.BottomStyle = BorderLineStyle.DashDot;
this.TextBox1.Border.LeftColor = System.Drawing.Color.Blue;
this.TextBox1.Border.LeftStyle = BorderLineStyle.DashDot;
this.TextBox1.Border.RightColor = System.Drawing.Color.Blue;
this.TextBox1.Border.RightStyle = BorderLineStyle.DashDot;
this.TextBox1.Border.TopColor = System.Drawing.Color.Blue;
this.TextBox1.Border.TopStyle = BorderLineStyle.DashDot;
}
}
qui per ulteriori informazioni sulla proprietà confine.
Come la posizione di un controllo sulla pagina risultante non è così facile. È possibile calcolare la posizione sulla base di alcune cose, ma mi consiglia di utilizzare il controllo stesso per evidenziare i dati che si desidera, piuttosto che disegnare sulla pagina. Si renderà la vostra vita più facile:)
Se una forma di cerchio è importante per voi, è possibile utilizzare il controllo "Shape" in ActiveReports per fare questo impostando la sua posizione e la visibilità in base a una condizione. Basta fare in modo ordine z della forma è sotto le caselle di testo. Il codice per utilizzare una forma sarebbe simile a come ho strutturato il codice di cui sopra, ma si sarebbe impostare il Top / Sinistra / larghezza / altezza e la proprietà Visible del controllo della forma invece di impostare proprietà del bordo. Maggiori informazioni sul controllo della forma è qui .
Spero che questo aiuti.
Scott Willeke
GrapeCity