Scopo
Abilitare questa proprietà indica che i raggruppamenti definiti vengono mostrati all'utente.
Questo necessita sia che i raggruppamenti siano abilitati sul pannello (proprietà CanGroup) sia che vengano calcolati utilizzando la procedura RefreshGrouping.
Quando questa proprietà è abilitata il click sulle colonne della Caption dei campi in lista non esegue più l'ordinamento dei valori ma esegue il loro raggruppamento, utilizzando il Visual Style del pannello per le intestazioni dei gruppi.
In questo caso il refresh dei gruppi viene fatto in maniera automatica dopo la definizione dei nuovi campi su cui ordinare.
Sintassi
Pannello.ShowGroups = true
Esempio di codice
// *********************************************************************
// Evento notificato alla videata al momento del caricamento in memoria.
// *********************************************************************
event Ordini.Load()
{
// Il pannello può ordinare e mostrare i gruppi
Ordini.canGroup = true
Ordini.showGroups = true
//
// Imposto i campi su cui ordinare
Ordini.addtoGroupList(Ordini.Idcliente.me(), true, Sfondogruppi)
Ordini.addtoGroupList(Ordini.DataOrdine.me(), true, Sfondogruppi)
//
// Imposto gli intervalli sulle date
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1970#, #31/12/1979#
, "Anni 70")
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1980#, #31/12/1989#
, "Anni 80")
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1990#, #31/12/1999#
, "Anni 90")
//
// Imposto la funzione di aggregazione
Ordini.setGroupFunction(Ordini.PaeseDestinatario.me(), Count, ...)
//
// Faccio caricare i dati
Ordini.findData()
//
// Aggiorno i raggruppamenti
Ordini.refreshGrouping()
//
// Mi memorizzo la posizione corrente
int rw = Ordini.activeRow
int ps = Ordini.actualPosition
//
// Posiziono il pannello sul primo ordine di Oggi
Ordini.findRecord(Ordini.DataOrdine.me(), today(), ...)
//
// Se è cambiata la posizione corrente significa che ho trovato il valore:
// espando il gruppo che lo contiene
if (rw != Ordini.activeRow || ps != Ordini.actualPosition)
{
Ordini.expandGroup(SelectedRow, true)
}
}
// Evento notificato alla videata al momento del caricamento in memoria.
// *********************************************************************
event Ordini.Load()
{
// Il pannello può ordinare e mostrare i gruppi
Ordini.canGroup = true
Ordini.showGroups = true
//
// Imposto i campi su cui ordinare
Ordini.addtoGroupList(Ordini.Idcliente.me(), true, Sfondogruppi)
Ordini.addtoGroupList(Ordini.DataOrdine.me(), true, Sfondogruppi)
//
// Imposto gli intervalli sulle date
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1970#, #31/12/1979#
, "Anni 70")
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1980#, #31/12/1989#
, "Anni 80")
Ordini.addGroupInterval(Ordini.DataOrdine.me(), #1/1/1990#, #31/12/1999#
, "Anni 90")
//
// Imposto la funzione di aggregazione
Ordini.setGroupFunction(Ordini.PaeseDestinatario.me(), Count, ...)
//
// Faccio caricare i dati
Ordini.findData()
//
// Aggiorno i raggruppamenti
Ordini.refreshGrouping()
//
// Mi memorizzo la posizione corrente
int rw = Ordini.activeRow
int ps = Ordini.actualPosition
//
// Posiziono il pannello sul primo ordine di Oggi
Ordini.findRecord(Ordini.DataOrdine.me(), today(), ...)
//
// Se è cambiata la posizione corrente significa che ho trovato il valore:
// espando il gruppo che lo contiene
if (rw != Ordini.activeRow || ps != Ordini.actualPosition)
{
Ordini.expandGroup(SelectedRow, true)
}
}
- I raggruppamenti sono gestiti solo in RD3.
- Dopo aver abilitato questa proprietà è necessario far calcolare i gruppi utilizzando la procedura RefreshGrouping.
- Questa proprietà può essere abilitata anche utilizzando il checkbox Mostra Gruppi tra le proprietà visuali del pannello.
- Se un pannello ha i raggruppamenti abilitati viene mostrato nella sua toolbar un pulsante aggiuntivo: cliccare su questo bottone equivale ad impostare questa proprietà.
- Quando questa proprietà è abilitata cliccare sulla caption di un campo in lista modifica o resetta gli ordinamenti: per impedirlo è sufficiente cancellare l'evento di OnSorting.
Ultima modifica: 25/10/2016 / Validità: da 9.0.3940
proprietà