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

  1. Creare un report che utilizzi la tabella Cliente nel database di esempio, xtreme.mdb.

  2. 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.

  3. Aggiungere un Web Forms Viewer al Web Form.

  4. Collegare il report a Web Forms Viewer.

  5. 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.

  6. 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);
  1. 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