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

Add to Group List

procedura copia link

Scopo

Questa procedura aggiunge un campo alla lista dei campi su cui raggruppare.

I raggruppamenti sono fatti nell'ordine in cui i campi sono aggiunti alla lista, perciò il primo gruppo farà riferimento al primo campo della lista e conterrà sottogruppi che faranno riferimento al secondo campo della lista e così via.

Aggiungere un campo alla lista non ha nessun effetto fino a che non vengono fatti ricalcolare i gruppi, utilizzando la procedura RefreshGrouping.

Sintassi

Pannello.AddtoGroupList(Campo, Direzione, Visual Style)

Argomenti

Campo Valore intero che indica il campo da aggiungere alla lista, utilizzare la funzione Me del campo.
Direzione Valore booleano che indica la direzione dell'ordinamento dei valori del campo, True se ascendente e False se discendente.
Visual Style Visual Style da associare al raggruppamento. Il Visual Style determina colore di sfondo e font dell'intestazione del gruppo.

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 disponibili solo in RD3.
  • Aggiungere un campo alla lista non ha nessun effetto fino a che non vengono fatti ricalcolare i gruppi, utilizzando la procedura RefreshGrouping.
  • Si possono aggiungere campi alla lista anche quando il pannello non mostra i raggruppamenti.
  • Possono essere aggiunti alla lista dei campi su cui raggruppare anche campi di Lookup o Smartlookup, a patto che si siano resi ordinabili tramite il comando del menu contestuale Rendi Ordinabile.

Ultima modifica: 25/10/2016 / Validità: da 9.0.3940

Vedi Anche

  • Refresh Grouping (procedura)
  • Me (funzione)
  • Reset Group List (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum