Scopo
Mostra una videata all'interno del campo di pannello. Il metodo può essere utilizzato solo su campi non statici.
Se occorre inserire videate in campi statici occorre utilizzare il metodo SetLabelSubForm.
Normalmente il metodo SetValueSubForm si utilizza in un'evento che fa parte del ciclo di validazione del pannello (come per esempio OnDynamicProperties o OnUpdatingRow). All'interno di tali eventi non è necessario specificare il valore del parametro RowNumber poiché il sistema considera la riga per cui è stato notificato l'evento. E', però, anche possibile utilizzare il metodo fuori dagli eventi di validazione del pannello, per esempio nell'evento AfterFind del pannello o in una procedura collegata ad un altro campo. In quel caso occorre fornire un valore al parametro RowNumber utilizzando, per esempio, il valore della proprietà ActiveRow del pannello.
Sintassi
Argomenti
Form Instance | E' un parametro di tipo IDForm che contiene l'istanza della sotto-videata da mostrare. |
Row Number | E' il numero della riga del buffer video in cui inserire la videata. Può andare da 1 al massimo numero di righe visibili del pannello, ottenibile tramite la funzione VisibleRows. |
Esempio di codice
// Allows the visual properties of individual panel cells to be adjusted.
// **********************************************************************************
event Categories.Categories.OnDynamicProperties()
{
if (!(isNull(Categories.CategoryIDCategories)))
{
// Get the sub-form for the detail field for the current row (if any)
Products prod = Categories.ProductsList.getValueSubForm(...)
if (prod == null)
{
// There is no sub-form on this cell. Create a new one
prod = Products.newSubForm()
Categories.ProductsList.setValueSubForm(prod, ...)
//
// Filter data based on current row values
prod.FilterByCategory(Categories.CategoryIDCategories)
}
}
}
- Qualora fosse necessario recuperare il puntatore alla videata contenuta nel campo è sufficiente utilizzare la funzione GetValueSubForm.
Ultima modifica: 24/05/2021 / Validità: da 21.0.8100