Scopo
Permette di modificare il codice azione di un determinato comando del CommandSet.
Il codice azione è una stringa che l'utente può inserire nel campo cmd contenuto nella testata della pagina del browser per attivare quel comando. Il codice azione può essere passato all'applicazione anche tramite una query string del tipo: ?CMD=azione
Sintassi
CommandSet.SetCommandActionCode(index, code)
Argomenti
Index | E' un numero intero che rappresenta l'indice dell'oggetto Command all'interno del CommandSet. |
Code | E' una stringa contenente il nuovo codice azione da assegnare all'oggetto Command. |
Esempio di codice
// *****************************************************************
// Nell'evento di OnOpenPopup mostro un comando per ogni categoria
// trovata sul database, nascondendo gli eventuali comandi rimanenti
// *****************************************************************
event Prodotti.Impostacategoria.OnOpenPopup(
inout int Direction // Indicates where to show the popup...
inout boolean Cancel // When set to TRUE, the popup menu is not shown
)
{
int Idx = 0 // Indice del comando correntemente in valutazione
//
// Per ogni categoria presente nel sistema imposto un comando
for each row
{
select
IdcategoriaCategorie := Idcategoria
NomeCategoriaCategorie := NomeCategoria
from
Categorie // Master Table
//
record Categorie
int Idcategoria //
string NomeCategoria //
//
Impostacategoria.SetCommandVisible(Idx, True)
Impostacategoria.SetCommandEnabled(Idx, True)
//
Impostacategoria.SetCommandActionCode(Idx, ToString(Categorie.Idcategoria))
Impostacategoria.SetCommandCaption(Idx, ToString(Categorie.NomeCategoria))
Impostacategoria.SetCommandIcon(Idx, Convert(ToImage(Categoria)))
//
Idx := Idx + ONE
//
// Se il command set è già pieno mi fermo
if Idx = Impostacategoria.GetCommandsCount()
{
break
}
}
//
// Se non tutti i comandi sono stati impostati rendo invisibili i rimanenti
while Idx < Impostacategoria.GetCommandsCount()
{
Impostacategoria.SetCommandVisible(Idx, False)
Impostacategoria.SetCommandEnabled(Idx, False)
//
Idx := Idx + ONE
}
}
// Nell'evento di OnOpenPopup mostro un comando per ogni categoria
// trovata sul database, nascondendo gli eventuali comandi rimanenti
// *****************************************************************
event Prodotti.Impostacategoria.OnOpenPopup(
inout int Direction // Indicates where to show the popup...
inout boolean Cancel // When set to TRUE, the popup menu is not shown
)
{
int Idx = 0 // Indice del comando correntemente in valutazione
//
// Per ogni categoria presente nel sistema imposto un comando
for each row
{
select
IdcategoriaCategorie := Idcategoria
NomeCategoriaCategorie := NomeCategoria
from
Categorie // Master Table
//
record Categorie
int Idcategoria //
string NomeCategoria //
//
Impostacategoria.SetCommandVisible(Idx, True)
Impostacategoria.SetCommandEnabled(Idx, True)
//
Impostacategoria.SetCommandActionCode(Idx, ToString(Categorie.Idcategoria))
Impostacategoria.SetCommandCaption(Idx, ToString(Categorie.NomeCategoria))
Impostacategoria.SetCommandIcon(Idx, Convert(ToImage(Categoria)))
//
Idx := Idx + ONE
//
// Se il command set è già pieno mi fermo
if Idx = Impostacategoria.GetCommandsCount()
{
break
}
}
//
// Se non tutti i comandi sono stati impostati rendo invisibili i rimanenti
while Idx < Impostacategoria.GetCommandsCount()
{
Impostacategoria.SetCommandVisible(Idx, False)
Impostacategoria.SetCommandEnabled(Idx, False)
//
Idx := Idx + ONE
}
}
- Gli indici di posizione dell'oggetto Command all'interno del CommandSet vanno da 0 a GetCommandsCount - 1. E' possibile ottenere l'indice di un comando mediante la funzione GetIndex dell'oggetto Command.
- Un altro possibile utilizzo di questa procedura è quello di memorizzare all'interno della proprietà Code del comando un dato che verrà poi estratto dall'evento di OnCommand, permettendo così di eseguire l'operazione giusta.
- In versione 22.0 la funzione è stata rinominata da SetCommandCode a SetCommandActionCode.
Ultima modifica: 21/03/2022 / Validità: da 6.5.2680