Scopo
Questa proprietà abilita o meno il pannello a gestire i raggruppamenti.
Questo non implica che i raggruppamenti impostati siano mostrati all'utente; lo saranno solo se viene impostata anche la proprietà ShowGroups e se i gruppi saranno stati calcolati utilizzando la procedura RefreshGrouping.
Sintassi
Pannello.CanGroup = true
Esempio
// *********************************************************************
// 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.
- Questa proprietà può anche essere abilitata utilizzando il checkbox Può Raggruppare tra le proprietà visuali del pannello.
Ultima modifica: 24/03/2021 / Validità: da 9.0.3940
proprietà