Il Context Menu è una collection di properties che consentono di personalizzare il menù che appare al click del tasto destro del mouse, in un qualsiasi punto della Grid.
Gli elementi del Context Menu si possono aggiungere, rimuovere o modificare nell'editor dedicato, accessibile dalla Property (Collection) ContextMenu, presente a livello di Column, oppure in override su Band o Grid.
Per aggiungere una nuova voce di menu, si procede facendo click sul pulsante Add Menu Item, per eliminarla si procede facendo click sul pulsante Delete.
Il pulsante Add Default Items ripristina l'elenco delle voci di default incluse nel menu, mantenendo eventuali elementi personalizzati dal Designer.
Per ciascuna voce del Context Menu è possibile valorizzare le seguenti proprietà:
✓ EntryType: il tipo di azione da eseguire, personalizzata (BookCommand) o a scelta tra quelle di default (comandi di sistema);
✓ Command: il Command del Book da lanciare, efficace solo se EntryType è BookCommand;
✓ EnabledExpression: espressione dataset che determina se la voce del menu sia attiva o meno;
✓ VisibleExpression: espressione dataset che determina se la voce del menu sia visibile o meno;
✓ Text: testo da visualizzare all’interno del menu a tendina;
✓ Image: immagine laterale da visualizzare all’interno del menu a tendina;
✓ Is Default: specifica se la voce sia quella di default (i.e. selezionata al doppio click del mouse);
✓ SelectionRequired: specifica se mostrare la voce solo alla selezione di un elemento della Grid;
✓ Valid Regions: identifica in quali sezioni della Grid (e.g Row, Header o Filter) sarà visualizzato.
Al fine di inserire un sottomenu, è sufficiente posizionarsi sulla voce "padre" ed aggiungere una nuova voce. Tale nuova voce sarà annidata in un sottomenu "figlio".
Inoltre, è possibile inserire un riferimento ad un altro menu esistente, aggiungendo un collegamento ad esso, mediante il pulsante Add Link.
Le voci del Context Menu possono anche essere impostate utilizzando una tabella del Model, tramite la property ContextMenuTable.
La tabella può contenere le colonne con lo stesso nome delle proprietà dei ContextMenuItem (e.g. Text, EntryType, Command).
Al fine di valorizzare da tabella la proprietà SubMenuItems, la colonna corrispondente deve avere nome "path". |
La colonna Text è obbligatoria. |
Infine, la property ValidRegion, di tipo stringa, può assumere uno o più tra i seguenti valori:
✓ None
✓ EmptyArea
✓ Filter
✓ GroupArea
✓ GroupedRow
✓ Header
✓ HeaderInGroupArea
✓ NewRow
✓ Row
✓ RowSelector
✓ Summary
✓ All
Per inserire più valori, è sufficiente separarli mediante virgola (e.g.: Filter,GroupArea,GroupedRow).
I Context Menu possono essere anche inseriti per mezzo di apposite Grid Rule di tipo Context Menu.
A partire da IrionDQ 2016 Update 7, è possibile definire uno SharedContextMenu, mediante l'omonima property. In tal modo, è possibile richiamare uno stesso Context Menu in più posizioni all'interno del Grid.