L'oggetto checkbox è l'equivalente del tag html input checkbox, esso però è implementato tramite l'uso del tag "img".
La scelta di utilizzare un'immagine deriva da due fattori:
- Permettere di differenziare il layout del controllo
- Gestire il tristate: per assegnare il valore ai singoli stati utilizzare gli attributi: [list]
- check: valore assegnato alla checkbox selezionata, se non utilizzato verrà assegnato il valore 1
- uncheck: valore assegnato alla checkbox non selezionata, se non utilizzato verrà assegnato il valore 0
- tristate(opzionale): valore assegnare allo stato indeterminato(la checkbox in grigio)
CHECKBOX SENZA DATASOURCE
La checkbox non è connessa a nessun datasource, il suo valore iniziale viene specificato tramite all'attributo value:
Esempio Online Anteprima
Descrizione: Utilizzo oggetto checkbox senza datasource
Sorgente PHP: examples/checkbox/checkbox.php
Sorgente XML: examples/checkbox/checkbox.xml
Descrizione: Utilizzo oggetto checkbox senza datasource
Sorgente PHP: examples/checkbox/checkbox.php
Sorgente XML: examples/checkbox/checkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<checkbox1 typeobj="checkbox" label="Mattino(true)" labelwidth="150px" labelalign="left" value="2" tristate="0" uncheck="1" check="2" />
<checkbox2 typeobj="checkbox" label="Pomeriggio(false)" labelwidth="150px" labelalign="left" value="1" tristate="0" uncheck="1" check="2" />
<checkbox3 typeobj="checkbox" label="Sera(tristate)" labelwidth="150px" labelalign="left" value="0" tristate="0" uncheck="1" check="2" />
</page>
</jamp>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<checkbox1 typeobj="checkbox" label="Mattino(true)" labelwidth="150px" labelalign="left" value="2" tristate="0" uncheck="1" check="2" />
<checkbox2 typeobj="checkbox" label="Pomeriggio(false)" labelwidth="150px" labelalign="left" value="1" tristate="0" uncheck="1" check="2" />
<checkbox3 typeobj="checkbox" label="Sera(tristate)" labelwidth="150px" labelalign="left" value="0" tristate="0" uncheck="1" check="2" />
</page>
</jamp>
CHECKBOX CON DATASOURCE
La checkbox può essere connessa ad una sorgente di dati, gli attributi in gioco sono:
- dsobj: attributo contenente il nome del ds da cui prelevare i dati
- dsitem: attributo contenente il nome del campo da cui prelevare i dati da visualizzare
Esempio Online Anteprima
Descrizione: Utilizzo oggetto checkbox con datasource
Sorgente PHP: examples/checkbox/ds_checkbox.php
Sorgente XML: examples/checkbox/ds_checkbox.xml
Descrizione: Utilizzo oggetto checkbox con datasource
Sorgente PHP: examples/checkbox/ds_checkbox.php
Sorgente XML: examples/checkbox/ds_checkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="checkbox" dskey="id" />
<dsnav1 typeobj="dsnav" btNew="false" btCancel="false" btDelete="false" dsobj="ds1" />
<label typeobj="label" dsobj="ds1" dsitem="giorno" label="Giorno\n" />
<checkbox1 typeobj="checkbox" dsobj="ds1" dsitem="mattino" label="Mattino" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
<checkbox2 typeobj="checkbox" dsobj="ds1" dsitem="pomeriggio" label="Pomeriggio" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
<checkbox3 typeobj="checkbox" dsobj="ds1" dsitem="sera" label="Sera" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
</page>
</jamp>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="checkbox" dskey="id" />
<dsnav1 typeobj="dsnav" btNew="false" btCancel="false" btDelete="false" dsobj="ds1" />
<label typeobj="label" dsobj="ds1" dsitem="giorno" label="Giorno\n" />
<checkbox1 typeobj="checkbox" dsobj="ds1" dsitem="mattino" label="Mattino" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
<checkbox2 typeobj="checkbox" dsobj="ds1" dsitem="pomeriggio" label="Pomeriggio" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
<checkbox3 typeobj="checkbox" dsobj="ds1" dsitem="sera" label="Sera" labelwidth="100px" labelalign="right" tristate="0" uncheck="1" check="2" />
</page>
</jamp>
La checkbox può essere anche contenuta all'interno di una griglia:
Esempio Online Anteprima
Descrizione: Utilizzo oggetto checkbox in una griglia
Sorgente PHP: examples/checkbox/row_checkbox.php
Sorgente XML: examples/checkbox/row_checkbox.xml
Descrizione: Utilizzo oggetto checkbox in una griglia
Sorgente PHP: examples/checkbox/row_checkbox.php
Sorgente XML: examples/checkbox/row_checkbox.xml
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="checkbox" dskey="id" />
<dsnav1 typeobj="dsnav" btNew="false" btCancel="false" btDelete="false" dsobj="ds1" />
<gridds1 typeobj="gridds" dsobj="ds1" width="550" height="320">
<coloumn>
<col objtype="label" dsitem="giorno" itemlabel="Giorno" colwidth="80px" />
<col objtype="checkbox" dsitem="mattino" itemlabel="Mattino" align="center" colwidth="80px" />
<col objtype="checkbox" dsitem="pomeriggio" itemlabel="Pomeriggio" align="center" colwidth="80px"/>
<col objtype="checkbox" dsitem="sera" itemlabel="Sera" align="center" colwidth="80px"/>
</coloumn>
</gridds1>
</page>
</jamp>
<jamp>
<page typeobj="page" title="JPresenze" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="checkbox" dskey="id" />
<dsnav1 typeobj="dsnav" btNew="false" btCancel="false" btDelete="false" dsobj="ds1" />
<gridds1 typeobj="gridds" dsobj="ds1" width="550" height="320">
<coloumn>
<col objtype="label" dsitem="giorno" itemlabel="Giorno" colwidth="80px" />
<col objtype="checkbox" dsitem="mattino" itemlabel="Mattino" align="center" colwidth="80px" />
<col objtype="checkbox" dsitem="pomeriggio" itemlabel="Pomeriggio" align="center" colwidth="80px"/>
<col objtype="checkbox" dsitem="sera" itemlabel="Sera" align="center" colwidth="80px"/>
</coloumn>
</gridds1>
</page>
</jamp>