Buscar English (United States)  Italiano (Italia) Deutsch (Deutschland)  Español (España, Alfabetización Internacional) Čeština (Česko)
viernes, 19 de abril de 2024 ..:: Projects » VB 6.0 » ADO DataProject 2.0.1 ::.. Registrarse  Entrar
 Download link Minimizar

  
 ADO Data Project Minimizar

E siamo arrivati così alla 2ª parte di questo progetto didattico.

Nella 1ª parte abbiamo visto come gestire l'accesso ai dati senza usare il controllo ADODC, ma tramite l'uso di semplici classi.

In questa seconda parte vedremo alcune nuove features riguardanti l'interfaccia utente e altre comode funzionalità.

FilterBar, ovvero il top della Ricerca!

La ricerca è stata sempre uno dei punti cruciali di ogni applicazione, per ovvie ragioni: se i dati inseriti non si trovano, a che servono? In questo progetto ho voluto ricreare (con non pochi stratagemmi) la caratteristica FilterBar simile a quella della fantastica TrueDBGrid di ComponentOne (www.componentone.com) che io uso normalmente. In pratica, grazie ad una riga supplementare posizionata sopra la griglia, è possibile creare 'al volo' dei filtri di ricerca multipli, cioè basati su più campi.

La potenza di questa caratteristica la apprezzerete in particolar modo quando andrete alla ricerca di un Comune. Ah già! Non ve l'ho ancora detto.
In questa versione troverete una chicca: un database MDB con tutti i Comuni d'Italia, aggiornato al 2006 (10 MB di dati!!!). Il database è particolarmente interessante perché, come vedrete, elenca anche tutti i CAP in cui sono suddivise le aree all'interno delle grandi città.
Nella figura sotto vedete che ANZOLA DELL'EMILIA appare 4 volte (anche se il CAP è identico per tutte), così ARGELATO, ecc. Ma se andrete a guardare BOLOGNA, vi renderete conto che vi sono numerosi CAP tutti diversi, che rappresentano infatti tutte le zone che sono suddivise in base alla via (Topo) e a volte anche al numero civico (nCivico).

Tornando alla ricerca, basta osservare la figura qui sotto per rendersi conto: la riga in giallo è la FilterBar. Digitando alcuni dati in essa, i dati del recordset sottostante saranno filtrati di conseguenza.
Nell'esempio vi mostro che avendo digitato BO nel campo Provincia, mi trovo elencati solo i comuni della provincia di Bologna.

A questo punto potrei applicare ulteriori filtri (uno per ogni colonna), vediamo un altro esempio:

In questo caso ho applicato 3 filtri sulle colonne: Topo, Dugt e Provincia. Seleziono la riga che mi interessa poi premo Invio (oppure doppio clic con il mouse) ed i dati del comune li posso trasferire ad una seconda finestra che nel nostro caso è quella dei Recapiti.

Ad esempio, se osservate l'immagine sotto, vedete che a destra del campo Comune, è presente una freccia blu. Questa indica che in quel campo è possibile eseguire una ricerca (come ho sopra indicato).

Per avviare la ricerca si preme il tasto funzione F3, oppure si fa clic sulla freccia blu, e si apre la finestra di ricerca (sopra). Una volta selezionato il Comune, i dati sono trasferiti automaticamente nei relativi campi: Comune, CAP e Provincia (l'Indirizzo e lo Stato sono esclusi).

Invito a fare diverse prove per rendervi conto della grande comodità di questa griglia. Considerando che, come nel caso dei Comuni, la tabella contiene decine di migliaia di record, le prestazioni sono ottime.

Notare che questa FilterBar può essere implementata anche nella griglia Anagrafica, ma lascio questo piacere a chi ha voglia di cimentarsi.

 

E-mail e URL

Altra nuova caratteristica è quella di poter inviare una semplice e-mail al cliente corrente oppure di visitare l'indirizzo web.
Vediamo allora come si presenta adesso la Scheda Cliente:

Nel caso in cui tra i recapiti ne esista uno di tipo E-mail, se lo si seleziona si abilita nella toolbar il pulsante e-mail. Basta fare clic e si apre la finestra del vostro programma di posta elettronica predefinito (non importa quale sia) per l'invio di un messaggio all'indirizzo indicato.

Riguardo all'apertura della pagina web, lascio a voi l'implementazione: nel progetto trovate un modulo BAS che include le due funzioni apposite (SendMail e OpenUrl).

 

Multi-casting avanzato

Ricordate la rozza modalità di multi-casting della precedente versione, in cui era necessario dover creare una variabile oggetto per ogni controllo?

Bene, dimenticate tutto! Ora con 2 righe di codice, e sottolineo DUE, otterrete lo stesso risultato grazie a due nuovi classi: CForm e CControls.
Un ulteriore vantaggio è che anche se aggiungete nuovi controlli, non dovrete modificare niente di niente, quando prima eravate costretti ad aggiungere la variabile oggetto del nuovo controllo. Insomma, inserite le due righe di codice e poi potete dimenticarvene.

Logicamente, se intendete gestire nuovi Tipi di controlli diversi, dovrete aggiungere nella classe CControls il codice necessario al nuovo 'arrivato'.


 Imprimir   
Copyright (c) 2002-2021 Giorgio Brausi (aka gibra)   Términos de Uso  Declaración de Privacidad
DotNetNuke® is copyright 2002-2024 by DotNetNuke Corporation