English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Raggruppamenti

Show Groups

proprietà copia link

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)
  }
}
  • 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

Vedi anche

  • Can Group (proprietà)
  • Refresh Grouping (procedura)
  • On Sorting (evento)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum