Esempio Online Anteprima (sola lettura)
Descrizione: Utilizzo completo dell'oggetto dsnav
Sorgente PHP: examples/dsnav/mysqlgrid.php
Sorgente XML: examples/dsnav/mysqlgrid.xml
Il dsnav è l'oggetto mediante il quale è possibile implementare le classiche operazione di navigazione, salvataggio e modifica legati ad una sorgente di dati. Il dsnav gestisce la visualizzazione per pagina, il numero di pagine è calcolato come rapporto tra il numero totale dei records ed il numero totale dei records per pagina(da impostare nell'attributo dslimit del controllo).
<idtag typeobj="dsnav" dsobj="nomeds" ................ />
- Nuovo: Prepara il ds all'inserimento della nuova riga
- Salva: Effettua richiesta AJAX per salvataggio nelle modalità definite nell'attributo dssavetype dell'oggetto ds associato.
- Cancella: Elimina il record corrente, nei ds relazionati se attiva l'opzione deleteoncascate verrà effettuata la cancellazione a catena. Consente di eliminare tutti i dati della fonte associata se è attiva la modalità deleteall.
- Annulla: Serve ad annullare la modalità di inserimento
- Primo: Sposta il cursore nel primo record
- Precedente: Sposta il cursore nel record precedente
- Record/Records: Visualizza la posizione record attuale e il totale dei record
- Successivo: Sposta il cursore nel successivo record
- Ultimo: Sposta il cursore nel primo record dell'ultima pagina
- Refresh: Ricarica il contenuto del ds
- Stampa: Permette di stampare un oggetto insieme a tutto il suo contenuto, nell'attributo objprint del tag dsnav bisogna specificare l'id dell'oggetto da stampare. In alternativa è possibile associare al tasto Stampa anche il richiamo di una funzione javascript, in questo caso assegnare il nome della funzione all'attributo fnzprint
- Cambio Pagina: Permette di spostarsi velocemente da una pagina ad un'altra.
Se non diversamente specificato tutti i tasti del dsnav vengono visulizzati, per nasconderli esistono appositi attributi da settare a false per i dettagli vedi le reference
Esempio Online Anteprima (sola lettura)
Descrizione: Utilizzo completo dell'oggetto dsnav
Sorgente PHP: examples/dsnav/custom_button.php
Sorgente XML: examples/dsnav/custom_button.xml
Connessione: conn6
E' possibile aggiungere ulteriori tasti personalizzati al dsnav:
<idtag typeobj="dsnav" dsobj="nomeds" ................>
<button>
<bt1 onclick="myfunction1();" image="....." title="....." />
<bt2 onclick="myfunction2();" image="....." title="....." />
..............
<btn onclick="myfunctionn();" image="....." title="....." />
</button>
</idtag>
PORRE IL DSNAV IN MODALITA' INSERIMENTO
A volte potrebbe essere utile porre in modalità inserimento il dsnav tramite codice, ciò è possibile tramite queste poche righe di codice:
if ($('ds1').autoinsert != true){ DS.dsnew('ds1'); $('ds1').autoinsert = true; }
se volessimo ad esempio porre il dsnav nella modalità inserimento al caricamento della pagina dovremmo aggiungere nel sorgente PHP:
function html_load()
{
global $xml;
$xml->pageObj->addEvent("page", "ds1Refresh", "if ($('ds1').autoinsert != true){ DS.dsnew('ds1'); $('ds1').autoinsert = true; }");
}
<?php
/**
* PHP Source File
* @author Alyx Association <info@alyx.it>
* @version 1.0
* @copyright Alyx Association 2008-2010
* @license GNU Public License
*/
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("mysqlgrid.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
?>
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JAMP - Esempio dsnav per la navigazione dei dati" icon="../../favicon.ico" loaddata="true">
<ds1 typeobj="ds" conn="conn6" dstable="CAB-COMUNE" dskey="ID" dslimit="10" />
<dsnav1 typeobj="dsnav" dsobj="ds1" objprint="gridds1" dssearch="`DENOMINAZIONE_COMUNE` LIKE '$$VALUE$$%'"/>
<gridds1 typeobj="gridds" dsobj="ds1" width="autosize" height="autosize">
<coloumn>
<col objtype="label" itemlabel="COMUNE" dsitem="DENOMINAZIONE_COMUNE" colwidth="200px" />
<col objtype="text" itemlabel="CAB" dsitem="CAB" order="false" minlength="5" maxlength="5" colwidth="200px" />
<col objtype="text" itemlabel="CAMPO" dsitem="" colwidth="200px"/>
</coloumn>
</gridds1>
</page>
</jamp>
›› REFERENCE XML - DSNAV
Oggetto: DSNAV
<nome typeobj="dsnav" attribute="valore"...>
...
</nome>
Attributi:
debug
Attiva il debug dell'oggetto.
Valori consentiti: true,false
Valori di default: false
onclick
Codice associato all'evento onclick.
ondblclick
Codice associato all'evento ondblclick.
onmousedown
Codice associato all'evento onmousedown.
onmouseup
Codice associato all'evento onmouseup.
onmouseover
Codice associato all'evento onmouseover.
onmousemove
Codice associato all'evento onmousemove.
onmouseout
Codice associato all'evento onmouseout.
onkeypress
Codice associato all'evento onkeypress.
onkeydown
Codice associato all'evento onkeydown.
onkeyup
Codice associato all'evento onkeyup.
class
Nome della classe di stile utilizzata dall'oggetto.
Valori di default: dsnav
style
Proprietà di stile.
lang
Specifica il codice della lingua utilizzata.
dir
Direzione del testo:
- LTR da sinistra a destra(default).
- RTL da destra a sinistra.
template
Nome del template utilizzato dall'oggetto, se non specificato viene utilizzato quello di sistema.
title
Informazioni aggiuntive visualizzate al passaggio del mouse sull'oggetto istanziato.
id
Nome univoco dell'oggetto.
Valori di default: dsnav
btSave
Disabilita il pulsante salva.
Valori consentiti: true,false
Valori di default: true
btNew
Disabilita il pulsante inserisci.
Valori consentiti: true,false
Valori di default: true
btDelete
Disabilita il pulsante elimina.
Valori consentiti: true,false
Valori di default: true
btNav
Disabilita i pulsanti di navigazione.
Valori consentiti: true,false
Valori di default: true
btTotal
Disabilita i totali.
Valori consentiti: true,false
Valori di default: true
btCancel
Disabilita il pulsante annulla.
Valori consentiti: true,false
Valori di default: true
btPage
Disabilita la selezione delle pagine.
Valori consentiti: true,false
Valori di default: true
btReload
Disabilita il pulsante reload dati.
Valori consentiti: true,false
Valori di default: true
btPrint
Disabilita il pulsante stampa.
Valori consentiti: true,false
Valori di default: true
objprint
ID dell'oggetto da stampare
fnzprint
Nome della funzione da utilizzare per la stampa della pagina.
label
Etichetta dell'oggetto.
maxlength
Numero massimo di caratteri accettati.
Valori di default: 255
size
Dimensione dell'oggetto.
Valori di default: 30
dssearch
Sintassi da usare per la ricerca es: `cognome` LIKE '$$VALUE$$%'
dsobj
ID dell'oggetto datasource associato.
java
Nome del/dei file javascript usati dall'oggetto.
Valori di default: dsnav.js
cssfile
Nome del file css usato dall'oggetto.
dsitem
Nome del campo datasource associato.
searchonkeyup
Esegue la ricerca durante la digitazione.
Valori consentiti: true,false
Valori di default: false
›› Elenco dei metodi Javascript intercettabili dall'utente:
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","dsdelete", "User function"); Function parameters: function(dsObjName,evt)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","setButton", "User function"); Function parameters: function(dsObjName,button,lock)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","setPage", "User function"); Function parameters: function(dsObj,dsObjName)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","page", "User function"); Function parameters: function(dsObjName,pageObj)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","ChangeItem", "User function"); Function parameters: function(dsObjName)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","dsfind", "User function"); Function parameters: function(dsObjName)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","dskeyfind", "User function"); Function parameters: function(id,e)
Sintassi JS: SYSTEMEVENT.addBeforeCustomFunction("DSNAV","refreshObj", "User function"); Function parameters: function(dsObjName)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","dsdelete", "User function"); Function parameters: function(dsObjName,evt)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","setButton", "User function"); Function parameters: function(dsObjName,button,lock)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","setPage", "User function"); Function parameters: function(dsObj,dsObjName)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","page", "User function"); Function parameters: function(dsObjName,pageObj)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","ChangeItem", "User function"); Function parameters: function(dsObjName)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","dsfind", "User function"); Function parameters: function(dsObjName)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","dskeyfind", "User function"); Function parameters: function(id,e)
Sintassi JS: SYSTEMEVENT.addAfterCustomFunction("DSNAV","refreshObj", "User function"); Function parameters: function(dsObjName)
›› Note fornite dagli utenti
Pulsanti aggiuntivi
Scritto da: ruben
E' possibile inserire dei pulsanti aggiuntivi.
Basta inserire nel sorgente xml:
<dsnav2 typeobj="dsnav" dsobj="ds1">
<button>
<bt onclick="CreateIndex('primary');" image="images/primary.png" title="Primary"/>
<bt onclick="CreateIndex('unique');" image="images/unique.png" title="Unique"/>
<bt onclick="CreateIndex('index');" image="images/index.png" title="Index"/>
<bt onclick="CreateIndex('fulltext');" image="images/text.png" title="Full Text"/>
</button>
</dsnav2>
Gli eventi associati ai pulsanti devono essere dichiarati nel file php:
<?PHP
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("table.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
function html_load()
{
global $event;
$code = '
function CreateIndex(type)
{
}
';
$event->setCodeJS($code);
}
?>