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

Expand Group

procedura copia link

Scopo

Questa procedura espande o collassa dei gruppi.

Sono definite due tipi di granularità per l'espansione: o tutti i gruppi oppure tutti i gruppi che contengono la riga attualmente selezionata.

Questo permette di rendere visibile o nascondere la riga su cui il pannello è posizionato al momento della chiamata di questa procedura.

Sintassi

Pannello.ExpandGroup(Granularità, Espansione)

Argomenti

Granularità Tipo di espansione da effettuare, deve essere un valore contenuto nella lista valori GroupExpansionType.
Espansione Valore booleano, True per espandere e False per collassare.

Valore di ritorno

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 abilitati solo in RD3.
  • Collassare i gruppi che contengono la riga attuale implica che vengono collassati tutti i gruppi che la contengono (dal primo all'ultimo), e non solo l'ultimo sottogruppo che lo contiene.
  • La chiamata a questa procedura scatena l'evento di OnExpandingGroup.
  • Dopo aver chiamato la funzione con i parametri All e True è necessario impostare l'ActualPosition del pannello a 1.

Ultima modifica: 28/03/2019 / Validità: da 9.0.3940

Vedi Anche

  • Group Expansion Type (lista valori)
  • On Expanding Group (evento)
  • Actual Position (proprietà)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum