Personalizzazione runtime dei campi di gruppo

È possibile utilizzare i campi di gruppo per raggruppare i dati del report basati sulle condizioni fornite.

Il seguente esempio, illustra come modifica, runtime, il campo delle condizioni di gruppo di un report.

Scenario : Modifica dei gruppi runtime.

Si supponga di disporre di un report Crystal al quale siano state applicate le seguenti condizioni:

  • Il report contiene tre campi nella sezione dettagli {Città.cliente}, {Paese.cliente}, e {Provincia.cliente}.
  • Viene creato un gruppo nel campo {Città.cliente}.

È possibile modificare i gruppi del report effettuando delle selezioni tramite un controllo ComboBox.

Per modificare i gruppi runtime

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

  2. Aggiungere un gruppo al report utilizzando il campo {Città.cliente}.

  3. Collegare il report a un visualizzatore.

  4. Aggiungere al modulo un controllo ComboBox.

  5. Nel controllo ComboBox, elencare come opzioni i campi{Città.cliente}, {Paese.cliente}, e {Provincia.cliente}.

    L'utente selezionerà dall'elenco il campo sul quale desidera effettuare il raggruppamento.

  6. Aggiungere al modulo un controllo Button.

    L'utente farà clic su questo pulsante per effettuare il raggruppamento sul campo selezionato in ComboBox.

  7. Fare doppio clic sul controllo Button per specificare il codice dell'evento Click. A seconda del linguaggio utilizzato, immettere il codice appropriato nel file di origine corrispondente, seguendo gli esempi riportati di seguito.

[Visual Basic]

Dim FieldDef As FieldDefinition
FieldDef = 
Report.Database.Tables.Item(0).Fields.Item(comboBox1().Text)
Report.DataDefinition.Groups.Item(0).ConditionField = FieldDef

[C#]

FieldDefinition FieldDef = new FieldDefinition ();
FieldDef = Report.Database.Tables [0].Fields [comboBox1.Text];
Report.DataDefinition.Groups [0].ConditionField = FieldDef;

[C++]

FieldDefinition* FieldDef;
FieldDef = Report->Database->Tables->Item [0]->
Fields->Item [comboBox1->Text];
Report->DataDefinition->Groups->Item [0]->ConditionField = FieldDef; 

[VJ#]

FieldDefinition FieldDef = new FieldDefinition ();
FieldDef = Report.get_Database().get_Tables().get_Item(0).get_Fields().get_Item (comboBox1.get_Text());
Report.get_DataDefinition().get_Groups().get_Item(0).set_ConditionField (FieldDef);
  1. Aggiornare il report corrispondente completando questa sezione con il seguente codice:

    CrystalReportViewer1.RefreshReport()
    

Vedere anche

Raggruppamento dei dati | Inserimento di formule | Cenni preliminari sulle formule | Opzioni di collegamento per Windows Forms Viewers | Opzioni di collegamento per Web Forms Viewers