Funzionalità

Nella query interna alla lista Desmos possono essere inseriti vari campi che modificano la funzionalità e l'aspetto del template.

E' possibile abilitare la selezione di righe multiple tramite l'uso di checkbox impostando il campo DesmosCheckMode == '1', altrimenti le tabelle rimarranno a selezione singola.
Alcune modalità (es. SPV) abilitano o disabilitano la selezione di righe multiple automaticamente, in quei casi DesmosCheckMode verrà ignorato.
Campo Lista:

  • DesmosCheckMode = cast('1' as nvarchar(16))

E' possibile effettuare un refresh di altre sezioni del layout alla selezione di una riga della tabella. Sono necessari due campi:

  • DesmosSelectionAzione: Deve contenere una stringa formata nel modo seguente: “Azione;Sezione1|Sezione2” (Eg. “Refresh;Right|Bottom”)
    • Azione: L'azione da eseguire nelle sezioni specificate, al momento l'unica azione disponibile è Refresh
    • Sezioni: Le sezioni del layout in cui applicare l'azione separate da |, se una sezione contiene due elementi è possibile specificare quale si vuole aggiornare (es. Center_1 o Center_2, vedi sezioni del layout) altrimenti verranno aggiornati entrambi.
  • DesmosSelectionLancio : Deve contenere il lancio da usare nell'Azione specificata in DesmosSelectionAzione.
    Può contenere più lanci separati da | se si vuole assegnare un lancio diverso ad ogni sezione specificata.

Campi Lista:

  • DesmosSelectionLancio = cast('Lancio' as nvarchar(128))
  • DesmosSelectionAzione = cast('Refresh;Right|Bottom_1' as nvarchar(128))

E' possibile effettuare l'aggiornamento dei dati della tabella in diverse modalità.

Manuale

Viene visualizzato un pulsante per effettuare manualmente l'aggiornamento della tabella.

Questo pulsante è visibile di default (DesmosRefreshGrigliaActive == '1'), il campo nella lista desmos viene usato per disabilitarlo (DesmosRefreshGrigliaActive == '0').

Campo Lista: DesmosRefreshGrigliaActive = CAST(‘0’ as nvarchar(16))

Automatico

La lista viene aggiornata automaticamente ogni volta passa l'intervallo di tempo specificato (in secondi).
Se l'intervallo inserito è 0, la lista non verrà aggiornata automaticamente.

Campo Lista: DesmosRefreshTime = cast(10 as int)

E' possibile attivare la paginazione per visualizzare le righe della tabella in più pagine di uguali dimensioni, attivato di default.
Se DesmosPaging == '1' o mancante la paginazione verrà tolta quando vengono creati gruppi manualmente.
Se DesmosPaging == '2' la paginazione verrà mantenuta anche quando vengono creati gruppi manualmente.


Paging Attivato (DesmosPaging == '1')


Paging Disattivato (DesmosPaging == '0')


Campo Lista: DesmosPaging = CAST('1' as nvarchar(16))

E' possibile raggruppare le righe della tabella per i valori relativi ad una o più campi,
ogni raggruppamento successivo viene fatto, a cascata, all'interno dei gruppi già creati. I gruppi possono essere definiti automaticamente nella lista desmos, manualmente dall'operatore o possono essere disabilitati.

Operatore

Quando il campo DesmosGruppoGrigliaActive == '1' l'operatore può raggruppare le righe trascinando la colonna contenente il campo per cui raggruppare nell'area segnalata in alto a sinistra della tabella, questa funzionalità è abilitata di default.


Esempio di raggruppamento

Campo Lista: DesmosGruppoGrigliaActive = CAST(‘0’ as nvarchar(16))

Lista

Per creare gruppi automaticamente è sufficiente popolare il campo DesmosGruppi con la lista dei nomi dei campi per cui raggruppare separati da “;” (Eg. “Commessa;Catasta”).
Se DesmosGruppi è presente, non nullo e non vuoto, non sarà possibile creare gruppi manualmente anche se DesmosGruppoGrigliaActive è esplicitamente abilitato.

Campo Lista: DesmosGruppi = CAST(‘CAMPO1;CAMPO2’ as nvarchar(128))

Opzioni

Il comportamento dei gruppi può essere personalizzato ulteriormente, a prescindere dal modo in cui i gruppi vengono creati:

  • E' possibile impostare se i gruppi sono inizialmente espansi o no, espandi di default (DesmosGruppoGriglia == '1').
    Campo Lista: DesmosGruppoGriglia = CAST(‘1’ as nvarchar(16))
  • E' possibile visualizzare il totale degli elementi nel gruppo, attivo di default (DesmosGruppoGrigliaTotale == '1').
    Campo Lista: DesmosGruppoGrigliaTotale = CAST(‘1’ as nvarchar(16))

E' possibile filtrare o ordinare i dati presenti nella tabella in varie modalità.
Tutte le modalità sono attive di default (come se tutti i campi fossero presenti ed == '1'), questi campi possono essere presenti ed == '0' per disabilitarle selettivamente.

Costruttore Filtri

Il Costruttore Filtri consente di creare filtri complessi sui dati di più colonne della tabella con logiche complesse tramite un pulsante locato in basso a sinistra della tabella.
I filtri sono formati da un gruppo iniziale, il quale può contenere diverse condizioni o altri gruppi. Ogni gruppo (sfondo rosso) contiene l'operazione booleana che determina come considerare le condizioni che contiene:

  • AND: Tutte le condizioni devono essere soddisfatte.
  • OR: E' sufficiente che una condizione sia soddisfatta.
  • NOT AND: E' sufficiente che una condizione non sia soddisfatta.
  • NOT OR: Nessuna condizione deve essere soddisfatta.

Ogni condizione è formata da tre parti:

  • Campo (sfondo blu): Il campo da considerare, premendo sul campo viene mostrata la lista dei campi presenti nella tabella, con la quale è possibile selezionare il campo desiderato.
  • Condizione (sfondo verde): La condizione con cui controllare il valore, selezionabile similmente al campo, dipende dal tipo di dato contenuto (stringa o numero).
  • Valore (sfondo grigio): Il valore del campo da testare.

I filtri creati possono essere disabilitati temporaneamente tramite una checkbox e possono essere modificati in qualsiasi momento.


Posizione pulsante costruttore filtri


Esempio di filtro complesso

Campo Lista: DesmosFiltriGrigliaActive = CAST(‘0’ as nvarchar(16))

Reset Filtri

Quest'opzione consente di rimuovere i filtri inseriti nella tabella all'aggiornamento dei dati.
Campo Lista: DesmosResetFiltri = CAST('1' as nvarchar(16))

Filtro Iniziale

Quest'opzione consente l'inserimento di un filtro iniziale sulla tabella, utilizzato principalmente per velocizzare tabelle caratterizzate da grandi quantità di dati.
Il filtro viene inserito solo se:

  • Non sono già presenti altri filtri in memoria.
  • Il Costruttore Filtri è abilitato (DesmosFiltriGrigliaActive mancante o == '1').


Campo Lista: DesmosFiltro = CAST(‘CAMPO1;=;1;and;CAMPO2;<>;2’ as nvarchar(128))

Ricerca

Quest'opzione consente l'utilizzo di una barra di ricerca, tramite la quale è possibile cercare l'input inserito all'interno della tabella, mostrando solo le righe che lo contengono.

Posizione barra di ricerca

Esempio di ricerca

Campo Lista: DesmosSearchGrigliaActive = CAST(‘0’ as nvarchar(16))

Filtri Colonna

Quest'opzione consente di visualizzare una barra di ricerca sopra i valori di ogni colonna, la quale consente di cercare una stringa tra i valori di quel campo. Viene visualizzata anche un'icona nelle celle contenenti il nome del campo, che consente di visualizzare tutti i valori presenti per tale campo e selezionare quali visualizzare.


Esempio lista di valori del campo


Elementi presenti con il campo attivo

Campo Lista: DesmosFiltriColonnaGrigliaActive = CAST(‘0’ as nvarchar(16))

Ordinamento Colonne

Consente di ordinare i valori presenti in una colonna in ordine ascendente o discendente (se possibile, colonne con valori non alfanumerici non verranno ordinate), riordinando le righe della tabella di conseguenza.
Per cambiare l'ordinamento di una colonna è possibile cliccare la cella contenente il nome del campo con il pulsante sinistro del mouse


Esempio di elementi ordinati in ordine discendente


Menu di ordinamento


Campo Lista: DesmosOrderActive = CAST(‘0’ as nvarchar(16))

Posizionamento Colonne

Consente di cambiare la posizione delle colonne nella tabella.
Per spostare una colonna è sufficiente trascinare con il mouse la cella contenente il nome del campo relativo sul punto in cui la si vuole spostare.


Esempio di spostamento colonna

Campo Lista: DesmosPositionActive = CAST(‘0’ as nvarchar(16))

Selezione Colonne

Consente di determinare quali colonne avere visualizzate nella tabella.
Tramite il pulsante posizionato in alto a destra rispetto alla tabella è possibile visualizzare la lista di colonne non attualmente visualizzate in tabella (ad esempio, tutte le colonne che iniziano con Desmos sono nascoste di default).
Per nascondere una colonna è sufficiente trascinare con il mouse la cella contenente il nome del campo nella lista di colonne nascoste, per mostrarne una è sufficiente trascinare una riga della lista dentro la tabella.
Se il campo DesmosPositionActive è disabilitato, le colonne che si vuole visualizzare verranno posizionate sempre nello stesso punto, a prescindere da dove viene rilasciata la colonna, mentre se è abilitato (o mancante) la colonna verrà posizionata nel punto in cui viene rilasciata.


Campo Lista: DesmosColumnChooserGrigliaActive = CAST(‘0’ as nvarchar(16))

E' possibile controllare alcune parti della tabella tramite la barra spaziatrice.
Se esistono una colonna di comandi od una colonna esploso, alla prima pressione della barra spaziatrice viene selezionata la prima riga, alla successiva viene eseguito il comando presente nella riga selezionata.
I comandi hanno priorità superiore, se sono presenti colonne di entrambi i tipi, verranno eseguiti i comandi.
Se il comando eseguito prevede un preview, una volta visualizzato è possibile chiuderlo premendo nuovamente la barra spaziatrice.

Campo Lista: DesmosInputKey = CAST(‘0’ as nvarchar(128))

E' possibile visualizzare un messaggio personalizzabile che attende OK dall'operatore.
Viene testata la prima riga nella lista, se il campo è presente e non vuoto il contenuto viene mostrato come messaggio.
E' possibile inserire comandi da eseguire alla pressione dei pulsanti “OK” o “Cancel” (presente solo con CmdAnnulla).

Campi Lista:

  • MessaggioOperatore: Messaggio da mostrare.
    DesmosMessaggioOperatore = cast(“Messaggio operatore” as nvarchar(128))
  • CmdLancio: Lancio da usare per i comandi, se presenti
    DesmosMessaggioOperatoreCmdLancio = cast(“1” as nvarchar(128))
  • CmdOk: Comando da eseguire alla pressione del pulasnte “OK”.
    DesmosMessaggioOperatoreCmdOk = cast(“CMD_OK.dsm” as nvarchar(128))
  • CmdAnnulla: Comando da eseguire alla pressione del pulasnte “Cancel” (visibile solo se CmdAnnulla è presente).
    DesmosMessaggioOperatoreCmdAnnulla = cast(“CMD_ANNULLA.dsm” as nvarchar(128))
  • CheckValue: Valore da inserire o leggere con scanner per poter chiudere la finestra del messaggio.
    Se il valore richiesto viene letto tramite scanner viene automaticamente premuto il pulsante “OK”.
    DesmosMessaggioOperatoreCheckValue = cast('value' as nvarchar(128))

E' possibile mostrare un pulsante che consente di scaricare i dati della tabella in formato pdf e/o xlsx (excel), a seconda di quali formati vengono inseriti nel campo.
Per tabelle con numerosi campi è consigliata l'esportazione in formato excel.

Campi Lista:

  • DesmosExport: Determina i tipi di file in cui è possibile esportare la tabella, i valori disponibili sono 'pdf' e 'xlsx'.
    DesmosExport = cast(“pdf;xlsx” as nvarchar(128))
  • DesmosExportFormat: Determina il formato del file pdf esportato, funziona solo se DesmosExport contiene 'pdf'.
    DesmosExportFormat = cast(“a0” as nvarchar(128))

  • Ultima modifica: 05/08/2025 07:22
  • da 127.0.0.1