English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Pannelli
  • Libreria Pannello
  • Proprietà

Actual Position

proprietà link

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

int nr = 0 // La riga selezionata
// 
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

Vedi Anche

  • On Change Row (evento)
  • Total Rows (funzione)
  • Visible Rows (funzione)

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum