Scopo
Rappresenta il numero della riga selezionata (attiva) all'interno del recordset del pannello. E' un numero intero che vale da 1 al numero di righe del recordset più il numero di righe vuote inseribili, calcolabile con la funzione TotalRows + VisibleRows - 1
Sintassi
//
nr := Prodotti.ActualPosition
Quando letta
Ritorna la riga attualmente selezionata nel pannello. Se in un pannello in lista viene selezionata una riga vuota in fondo alla lista, questa proprietà ritorna un valore superiore al numero di righe del recordset. Il valore massimo è pari al numero di righe del recordset (TotalRows) più il numero di righe vuote che il pannello in lista può contenere (VisibleRows - 1). Si deve sottrarre uno perchè la prima riga della lista contiene sempre un record.
Quando impostata
Seleziona la riga corrispondente al valore impostato. Se si cerca di impostare un numero minore di 1, non accade nulla. Se si imposta un valore maggiore del massimo, la proprietà assume il valore di TotalRows ed il pannello si posiziona sull'ultimo record della lista.
Esempio di codice
// Cerca un testo nel pannello
// ***************************
public void Prodotti2.BottoneCerca()
{
string n = "" // Il testo da cercare
int i = 0 // Il numero di riga
boolean Trovato = 0 // Indica se ho trovato il testo
//
// Chiedo all'utente che cosa vuole cercare
n := InputBox(MSG Inserisci Parte)
//
// Valore non ancora preso oppure non dato
if n = Empty String
{
return
}
n := Upper(n)
//
// Cerco il nome dato nella lista
for each row (Prodotti)
{
record Prodotto
...
//
// Conteggio il numero delle righe per effettuare l'actualposition alla fine
i := i + ONE
//
if Find(Upper(Prodotto.Nome), n, ??) > ZERO
{
Trovato := True
break
}
}
//
// Se l'ho trovato imposto la riga
if Trovato
{
Prodotti.ActualPosition := i
}
}
- Attenzione: il valore di questa proprietà non dipende dall'ordinamento del pannello! Se, ad esempio, il pannello è posizionato sulla riga 3 e l'utente inverte l'ordinamento delle righe, il pannello si trova ancora posizionato sulla riga 3.
- Attenzione: nei pannelli DB oriented non è possibile cambiare il valore di questa proprietà quando è lo stato del pannello è UPDATED.
- Impostando questa proprietà il pannello notifica l'evento di OnChangeRow.
Ultima modifica: 23/03/2021 / Validità: da 6.5.2680