Scopo
Restituisce il numero totale di nodi selezionati in un albero. Tale numero è utile per poter enumerare i nodi selezionati mediante la funzione GetSelectedNode.
Sintassi
int n = 0 // Numero di nodi selezionati
//
n := Albero.GetSelectedNodeCount()
//
n := Albero.GetSelectedNodeCount()
Argomenti
Questa funzione non ha argomenti.Valore di ritorno
Viene restituito un numero intero che indica quanti sono i nodi selezionati nell'albero.
Esempio di codice
// *********************************************************
// Elenca tutti i figli selezionati della categoria corrente
// *********************************************************
public void AlberoCategorie.ElencaSelezionati()
{
string Mess = "" //
int i = 0 //
int NumSel = 0 //
//
// Per cominciare espando il nodo di cui voglio vedere i nodi selezionati
Categorie.ExpandNode(CAT +c ToString(Categorie.ID), ??, ??)
//
// Poi giro su tutti i nodi selezionati enumerando solo i figli della
// categoria corrente
i := ZERO
while i < Categorie.GetSelectedNodeCount()
{
string h = "" // Hash Key del nodo selezionato
string hParent = "" // Hash Key del padre del nodo selezionato
//
h := Categorie.GetSelectedNode(i)
hParent := Categorie.GetParentNode(h)
//
// Se è un figlio della categoria corrente... lo inserisco nel messaggio
if hParent = CAT +c ToString(Categorie.ID)
{
string NomeProd = "" //
//
select into variables
set NomeProd := NomeProdotto
from
Prodotti // Master Table
where
Id = ToInteger(Mid(h, C4, ??))
//
Mess := Mess +c Trattino +c NomeProd +c A Capo
NumSel := NumSel + ONE
}
//
i := i + ONE
}
//
// Inserisco l'inizio del messaggio
Mess := FormatMessage(MSG Categoria Possiede, Categorie.Nome,
Categorie.GetChildrenNodeCount(CAT +c ToString(Categorie.ID)), NumSel,
??, ??) +c A Capo +c Mess
//
// Mostro il messaggio all'utente
EsempiLB.MessageBox(Mess)
}
// Elenca tutti i figli selezionati della categoria corrente
// *********************************************************
public void AlberoCategorie.ElencaSelezionati()
{
string Mess = "" //
int i = 0 //
int NumSel = 0 //
//
// Per cominciare espando il nodo di cui voglio vedere i nodi selezionati
Categorie.ExpandNode(CAT +c ToString(Categorie.ID), ??, ??)
//
// Poi giro su tutti i nodi selezionati enumerando solo i figli della
// categoria corrente
i := ZERO
while i < Categorie.GetSelectedNodeCount()
{
string h = "" // Hash Key del nodo selezionato
string hParent = "" // Hash Key del padre del nodo selezionato
//
h := Categorie.GetSelectedNode(i)
hParent := Categorie.GetParentNode(h)
//
// Se è un figlio della categoria corrente... lo inserisco nel messaggio
if hParent = CAT +c ToString(Categorie.ID)
{
string NomeProd = "" //
//
select into variables
set NomeProd := NomeProdotto
from
Prodotti // Master Table
where
Id = ToInteger(Mid(h, C4, ??))
//
Mess := Mess +c Trattino +c NomeProd +c A Capo
NumSel := NumSel + ONE
}
//
i := i + ONE
}
//
// Inserisco l'inizio del messaggio
Mess := FormatMessage(MSG Categoria Possiede, Categorie.Nome,
Categorie.GetChildrenNodeCount(CAT +c ToString(Categorie.ID)), NumSel,
??, ??) +c A Capo +c Mess
//
// Mostro il messaggio all'utente
EsempiLB.MessageBox(Mess)
}
- Se la multi-selezione non è attiva la funzione restituisce il valore Zero.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680