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

Add Group Interval

procedura copia link

Scopo

Questa procedura aggiunge ad un campo un intervallo personalizzato di valori su cui raggruppare; tutti i valori che cadranno dentro questo intervallo faranno parte di un solo gruppo, la cui intestazione sarà l'etichetta definita da questa procedura.

Sintassi

Pannello.AddGroupInterval(Campo, Minimo, Massimo, Etichetta)

Argomenti

Campo Intero che indica il campo a cui aggiungere l'intervallo, ottenibile attraverso la funzione Me dei campi di pannello.
Minimo Estremo minimo dell'intervallo.
Massimo Estremo massimo dell'intervallo.
Etichetta Etichetta del gruppo che sarà mostrata nella sua intestazione.

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 utilizzabili solo in RD3.

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

Vedi Anche

  • Me (funzione)
  • Reset Group Interval (procedura)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum