I grafici in IrionEDM possono essere resi interattivi, per realizzare interfacce utente consultabili in modo semplice ed efficace.
Ad esempio è possibile:
✓ mettere in evidenza la fetta di un grafico a torta selezionandola;
✓ evidenziare con un opportuno stile grafcio l'elemento attualmente selezionato in un Chart.
L'attributo ActionType della proprietà ClickAction in una Rule di tipo Element consente di specificare quale azione eseguire, quando un elemento del Chart viene selezionato a video. Essa può assumere i valori:
✓ None, nessuna azione viene eseguita;
✓ SelectCurrent, l’elemento ed il corrispondente record nella tabella sottostante vengono selezionati;
✓ RunCommand, uno specifico Command del Book viene lanciato;
✓ SelectAndRun, combina SelectCurrent e RunCommand.
Il valore di default della proprietà ActionType è None. |
L'attributo CommandName della proprietà ClickAction permette, invece, di specificare il nome dell'eventuale Command da eseguire.
Il valore SelectAndRun dell'attributo ActionType è efficace anche in assenza di un Command da eseguire. |
Mediante una Rule di tipo Element con Table Name nella forma TableName.[CurrentRow], è possibile agire in modo specifico sugli elementi di un Chart selezionati a video.
La proprietà ExplodeSlice consente di mettere in evidenza la fetta, attualmente selezionata, in un grafico a torta.
Viceversa, proprietà grafiche, quali Color e Trasparency, permettono di evidenziare gli elementi selezionati anche in caso di grafici non a torta.
Inoltre è anche possibile sincronizzare i dati rappresentati in un grafico con:
✓ i dati della corrispondente tabella del Model, se esposta a video;
✓ gli elementi di altri grafici, se appartenenti a Chart distinti.
La sincronizzazione di elementi di un grafico con i dati esposti a video da una tabella è possibile, quando i corrispondenti Viewer di tipo Chart e Grid condividono lo stesso Synchronization Group.
Le interazioni tra grafico e tabella possono dipendere:
✓ dalla sola appartenenza al medesimo gruppo di sincronizzazione;
✓ da una relazione di tipo parent-child tra le sottostanti tabelle del Model;
✓ dalla riga attualmente selezionata (CurrentRow) nella Grid sincronizzata,
In presenza di relazioni di tipo parent-child nel Model del Book, è possibile sincronizzare i record della tabella Master, esposta mediante una Grid, e gli elementi di un grafico rappresentante la relativa tabella Detail. In questo caso, il grafico deve essere caratterizzato da una Rule di tipo Element, il cui TableName sia il nome della relazione presente sul Model.
Viceversa, per sincronizzare le componenti di un grafico con la riga attualmente selezionata sulla Grid sincronizzata, è necessario definire una Rule di tipo Element, il cui TableName sia del tipo TableName.[CurrentRow], dove TableName indica il nome della tabella esposta nella griglia.
Tecnicamente la CurrentRow è una tabella contenente al massimo un record. |
In caso di sincronizzazione mediante [CurrentRow], è possibile:
✓ modificare l'aspetto grafico degli elementi del Chart, in funzione del record selezionato;
✓ esplodere la fetta corrispondente al dato selezionato in un grafico a torta.
La Key di un Element, coinvolto in un Chart sincronizzato mediante CurrentRow, deve referenziare un opportuno campo della tabella esposta dalla corrispondente griglia. |
L'interazione e la sincronizzazione di grafici esposti su Chart distinti è possibile, quando i corrispondenti Viewer condividono lo stesso Synchronization Group. In particolare, è possibile sincronizzare:
✓ Chart che rappresentano, rispettivamente, la tabella parent e le tabelle child di una relazione definita sul Model;
✓ Chart che espongono campi diversi di una stessa tabella.
In presenza di relazioni di tipo parent-child nel Model del Book, è possibile sincronizzare i grafici delle tabelle "figlio" con il grafico della tabella "padre". In questo caso, i Chart associati alle tabelle "figlio" devono essere caratterizzate da Rule di tipo Element, il cui TableName sia il nome della relazione presente sul Model.
Viceversa, per sincronizzare specifici comportamenti di Chart che rappresentano campi diversi di una stessa tabella, è necessario definire Rule di tipo Element, il cui TableName sia del tipo TableName.[CurrentRow]. In queato caso TableName indica il nome della tabella associata ad entrambi i Chart.