Personalizzazione runtime delle formule di selezione
È possibile utilizzare le formule di selezione per filtrare i record che si desidera includere in un report. È inoltre possibile specificare I campi tramite I quali raggruppare e ordinare I dati.
Il seguente esempio viene illustrato come modificare, runtime, le formule di selezione per un report. Ciò può essere effettuato tramite il controllo del visualizzatore o tramite Report Engine. Per ulteriori informazioni sul metodo da scegliere, vedere Utilizzo del visualizzatore o di Report Engine per la personalizzazione.
Per modificare i dati runtime
Creare un report che utilizzi la tabella Cliente nel database di esempio, xtreme.mdb.
Aggiungere una formula di selezione contenente:
{Cliente.Vendite anno precedente} > 11000.00
Questa formula restituisce record relativi a clienti le cui vendite dell'anno precedente ammontavano a una cifra maggiore di £2.200.000.
Aggiungere al modulo una casella di testo e un controllo Button.
Immettere un valore minimo per rappresentare le vendite dell'anno precedente nella casella di testo, fare clic sul controllo Button e inviare il modulo.
Fare doppio clic sul controllo Button per specificare il codice dell'evento Click. A seconda del linguaggio e del motore utilizzati è necessario immettere il codice appropriato seguendo l'esempio riportato di seguito.
Passaggio della formula di selezione attraverso il controllo del visualizzatore
[Visual Basic]
Dim SelectFormula As String
SelectFormula = "{Cliente.Vendite anno precedente } > " & textBox1().Text
crystalReportViewer1.SelectionFormula = SelectFormula
[C#]
string selectFormula;
selectFormula = "{Cliente.Vendite anno precedente} > " + textBox1.Text;
crystalReportViewer1.SelectionFormula = selectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{Cliente.Vendite anno precedente} > ", textBox1->Text);
crystalReportViewer1->SelectionFormula = selectFormula;
[VJ#]
String selectFormula;
selectFormula = "{Cliente.Vendite anno precedente} > " + TextBox1.get_Text();
crystalReportViewer1.set_SelectionFormula(selectFormula);
Passaggio della formula di selezione tramite l'oggetto report
[Visual Basic]
Dim selectFormula As String
selectFormula = "{Cliente.Vendite anno precedente} > " & textBox1().Text
Report.DataDefinition.RecordSelectionFormula = selectFormula
[C#]
string selectFormula;
selectFormula = "{Cliente.Vendite anno precedente} > " + textBox1.Text;
Report.DataDefinition.RecordSelectionFormula = SelectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{Cliente.Vendite anno precedente} > ", textBox1->Text);
Report->DataDefinition->RecordSelectionFormula = selectFormula;
[VJ#]
String selectFormula;
selectFormula = "{Cliente.Vendite anno precedente} > " + TextBox1.get_Text();
Report.get_DataDefinition().set_RecordSelectionFormula(selectFormula);
Aggiornare il report corrispondente completando questa sezione con il seguente codice:
CrystalReportViewer1.RefreshReport()
La formula viene quindi aggiornata per utilizzare il nuovo minimo delle vendite dell'anno precedente.
Vedere anche
Proprietà SelectionFormula per Web Forms Viewer | Proprietà SelectionFormula per Windows Forms Viewer