Newsgroup: it.comp.lang.visual-basic
Titolo: [VB 2010 Ex] Combobox e relativa lista.

Ciao a tutti.
Applicazione desktop con DB in locale.
Ho un form "Libri" con origine su una tabella omonima ed una combobox associata ad  una tabella "Editori". Ho impostato la combo con la proprietà DropDownStyle = "DropDownList" e AutoCompleteMode = "SuggestAppend". 
Nella tabella editori ci sono 1.000 records e quindi non vorrei tirare su tutti quei dati, ma vorrei anche mantenere l'autocompletamento e l'impossibilità di scrivere dati diversi da quelli contenuti nella tabella "Editori". Immagino di dover agire sull'evento "TextUpdate", ma come dovrei strutturare la query?
Grazie in anticipo.


La vedo dura, perchè tu stai dicendo alla combo di essere una DropDownList (quindi l'utente non può editare il testo come se invece la combo fosse una "DropDown") e, nello stesso momento, hai il AutoCompleteMode = SuggestAppend  (che dovrebbe funzionare solo in modalità DropDown, ma vado a memoria e potrei sbagliarmi).
In tutto questo devi tenere conto che l'AutoCompleteMode ha bisogno di quei dati per sapere cosa suggerire quindi:
 
-Se vuoi l'autocomplete devi caricarti tutti i dati.
-Se vuoi caricare solo alcuni dati sei costretto a rinunciare all'autocomplete.
 
In tutto questo rimane sempre il mio dubbio sull'accoppiata Autocomplete e Dropdownlist.
 
Nicola


Ciao Nicola,
perdonami: il messaggio è stato postato parzialmente e me ne accorgo solo ora. E' qualche giorno che G. Gruppi mi dà dei problemi.
Ovviamente è come scrivi tu.
Volevo chiedere, al momento che scegliessi di usare la combo come "DropDown" (non "DropDownList) con Autocomplete e a patto che il DB risieda in locale (senza latenze da remoto), se fosse ragionevole caricare ad ogni digitazione il/i dato/i corrispondenti, così da non caricare tutti i dati. Forse l'esosità della ricerca, vanifica il tutto?
Grazie ancora e scusa per il disguido.

 Grazie ancora e scusa per il disguido.
 
Se usi .Net FW 3.5 o 4.0 puoi appoggiarti a LINQ.
Carichi tutti i dati dal db e li metti in una collection. Poi con LINQ puoi filtrare dinamicamente e popolare la combo.
 
Nicola
 


Intanto grazie.
A questo punto vorrei domandarti su LINQ. E' possibile usarlo con una sorgente dati diversa da SQL Server/Express? Ho tentato di creare una classe LINQ in un progetto con base dati Access e non me lo ha consentito. Confermi?

 LINQ in un progetto con base dati Access e non me lo ha consentito. Confermi?
 
Fabrizio non ci cavi le gambe se non studi! Abbi pazienza la 
franchezza!
Se non capisci quei 10 concetti alla base di tutto corri il rischio di 
fare un casino mentale incredibile e di produrre robaccia!
Non so se sei un programmatore arrivato da altri linguaggi o cosa....
non mi sembri un presuntuoso come John e quindi ci perdo volentieri del 
tempo (va che è un complimento eh! ....anche se non sembra!).
 
1) NON HA SENSO il background che invochi.
NON sei mai collegato ad un db se non il tempo necessario a recuperare 
dati o gestirli...il tempo di inviare una query insomma...e casomai di 
aspettare un risultato!
....in dotNET lavori SEMPRE disconnesso!
Quindi lavori sempre in locale!
 
2) I dati in locale stanno in due oggetti(semplificando) ....collezioni 
o dataset(che poi sarebbe una collezione particolare)
 
esempio
SCELGO IL PROVIDER adatto al database
esempio che ho sottomano: database SQLite provider per net
Metto nei riferimenti del progetto quel provider
poi scrivo una cosa del tipo...
Imports System.Data.SQLite
.....
carico una datatable con i dati del db
            ConnessioneDB è una funzione che stabilisce il 
collegamento...imposta database...password...controlla che tutto 
funzioni...cripta connessione etc etc....se va bene mi ritorna un 
SQLiteConnection
 
            cn = ConnessioneDB()
            'comando
            Dim scmd As New SQLite.SQLiteCommand(QuerySQL, cn)
            'datatable
            dt = New DataTable(NomeTabella)
            'riempimento tabella
            dt.Load(scmd.ExecuteReader)
            'stacca tutto baby!
            scmd.Dispose()
            cn.Close()
            cn.Dispose()
            Return dt
 
DT.Load è un trucchetto che stressa temporaneamente la rete per far 
caricare TUTTA la risposta della query nella datatable...puoi anche 
usare un USING per compattare questa scrittura...insomma prendilo 
questo codice come una idea da approfondire!
 
 
Adesso IN MEMORIA esiste una dataTable riempita con i dati del db....
Ci puoi fare quello che vuoi...anche interrogarla!
 
Occhio che se vuoi il "rimbalzo" contrario: da dataset/datatable a 
DB...devi:
O usare un DataAdapter ed invocare .Update
O usare un DBcommand da invocare alla bisogna per riflettere le 
modifiche da locale a remoto
 
3) Combo come lo comando?
In memoria hai la tua datatable
....fattene un altra con i dati necessari all'auto completamento
...poco efficiente....
oppure , come detto, filtra con LINQ!
 
4) LINQ....linq lo agganci a qualsiasi oggetto che esponga 
l'interfaccia IEnumerable(OF T)....quindi?
Quindi quasi tutto! Anche le stringhe!
Anche una tua classe custom se fai
 
Class Pippo
Implements IEnumerable
....
http://msdn.microsoft.com/it-it/library/system.collections.ienumerable.aspx
 
 
Linq è OSTICO all'inizio....per chi viene da una programmazione 
"COBOLIANA"....se uno conosceva invece LISP o Prolog trova meno 
difficoltà. Usa Lambda expression...
Ma una volta presa la mano...crei liste a partire da altre liste....
quello che serve a te!
http://msdn.microsoft.com/it-it/library/bb397926.aspx
 
http://aspnet.html.it/articoli/leggi/2527/introduzione-a-linq/
 
 
 
 
Ma ce l'hai un buon libro da leggere ...o stai andando in produzione  
mentre  studi??? NO VERO????!!!!
 
-- 
----- Italliaaaaa 3227! -----
Ti prego, ti prego, non ci uccidere. Ti prego baby, lo sai che ti amo. 
Non avrei mai voluto lasciarti, non è stata colpa mia. Davvero, sono 
sincero. Quel giorno finì la benzina. Si bucò un pneumatico. Non avevo 
i soldi per il taxi! Il mio smoking non era arrivato in tempo dalla 
tintoria! Era venuto a trovarmi da lontano un amico che non vedevo da 
anni! Qualcuno mi rubò la macchina! Ci fu un terremoto! Una tremenda 
inondazione! Un'invasione di cavallette!
John Belushi [da "Blues Brothers"]
 
 

 A questo punto vorrei domandarti su LINQ. E' possibile usarlo con una sorgente dati diversa da SQL Server/Express? Ho tentato di creare una classe LINQ in un progetto con base dati Access e non me lo ha consentito. Confermi?
 
 
Guarda la risposta di Wodka. E' un pň rude (daltronde il Wodkino č cosě, prendere o lasciare), ma ti ha dato un grande aiuto. ;-)
Approfondisci i link che ti ha girato e comincia a costruirti una piccola applicazione di esempio con un form, la lettura di una tabella da un db (che sia SQL Server, Access o SQLite poco importa) e il filtraggio dei dati con LINQ.
 
Se hai problemi chiedi pure.
 
Nicola
 


Ciao Vodka.
Vado un pochino OT, dato che me lo chiedi. Non sono un tecnico del settore. Per quanto riguarda la programmazione ho sempre usato VBA con Access. Lavoravo sino ad un anno fa in un'Az. di cons. informatica, ma nella veste di resp. del pers. La programmazione non mi era dovuta. Mi limitavo a piccole produzioni interne.
Ora ho scelto di passare a .NET e sto ancora tentando di assorbire il trauma! Studiare studio, entro i limiti degli  obbiettivi che voglio raggiungere. Magari non linearmente, bensì al presentarsi della necessità, cioè come tu auspicavi non fosse! So perfettamente non essere il modo migliore, ma per ora non posso fare altrimenti.
Il fatto del DB disconnesso lo sapevo, ma dalle mie dichiarazioni hai giustamente capito che non l'ho ancora metabolizzato.
Per quanto riguarda LINQ domandavo se potesse manipolare dati che non fossero necessariamente provenienti da SQL server/express, ma evidentemente i tempi per me, non sono maturi per tale tecnologia. Per ora continuerò a studiare ADO.
Grazie infinite Vodka. Anche solo gli esempi che hai scritto e i link che hai postato, comportano del tempo, del quale ti ringrazio ;-)

 Nicola
Nicola,
Vodka mi ha già aiutato in passato e ho imparato a "conoscerlo", anche se a dire il vero, il suo essere un po' guascone (che non significa strafottente), mi assomiglia e non può dispiacermi. In questo ambito non posso "rivelarmi", dato che sono dalla parte dell'adepto, altrimenti poveri voi!!
Ops... Vedi? stavo dimenticando di essere remissivo... ( :-P ).
Grazie infinite della disponibilità Nicola ;-)

 resp. del pers. zac
OT per OT
Non è che cercate programmatori eh????? Non ce la faccio più ad essere 
freelance!
 
IT per IT
Tutto quello che espone una interfaccia IEnumerable può essere digerito 
da LINQ!
 
Franchezza per Franchezza
Se ...ripeto SE ...e ancora SE ...ti serve davvero imparare 
dotNet....fissati un obiettivo: 1 ora la sera la tolgo a maria de 
filippi o a kazzenger e la dedico a dotNet. Non sei uno 
sprovveduto...tempo un mese avrai una visione organica....
Si fa solo se ritornano prima o poi soldi....ovvio! Ma secondo me il 
lume val la candela!
 
-- 
----- Italliaaaaa 3227! -----
Il coraggio ce l'ho. E' la paura che mi frega.
(Totò)
 
 

 freelance!
Tocchi un tasto dolente. L'Az. ha chiuso il 31/12/2010, pur essendo una delle poche az. informatiche in Italia in profondo attivo. Si sono litigati i soci.
Viceversa avrei potuto ragionevolmente fissarti un colloquio, dato che le selezioni le facevamo il titolare ed io. Di richieste ne avevamo tantissime, ma nello specifico, quasi mai per .NET.
Se invece può esserti utile, ed estendo anche agli altri l'offerta, posso dirvi quali tecnologie sono ricercate, trattamenti, etc. Tutto ciò nell'ambito della consulenza. Essendo stati affiliati da sempre a Reply, le committenze conto terzi, erano rappresentate dalle imprese di riferimento del panorama interazionale.
Io ho 45 anni, e credo di non dovervi spiegare in questo periodo, quanto sia improbabile trovare lavoro. E non parlo di qualcosa di consono a ciò che facevo prima, ma anche di un semplice impiego come manutentore di ascensori.
E' dura, molto dura.

> Fabrizio Alessandri ci ha detto :
zac
OT PER OT
 
Stamani per la prima volta dopo anni e anni son stato ad un colloquio 
presso una interinale....cercano per una azienda (quindi l'eventuale 
rapporto non è tra me e l'interinale....ma tra me e l'azienda) un 
programmatore con cito
"Esperienze Richiesta, suppur breve, esperienza nella mansione e 
conoscenza programmi:html, excel, javascript, xml, jquery, php, asp, 
visual c, sql server o db2, visual studio net, dot net. Requisito 
preferenziale: la conoscenza di Oracle."....
 
uh che sarà mai esperienza seppur breve?
vado al colloquio...fatto da una che non conosce la differenza fra 
Ritenuta d'acconto e Iva...e naturalmente nulla delle skill chieste...
 
"Sa è una azienda che ha 50 dipendenti...che poi presta ad altre realtà 
anche internazionali...cercano 3 posizioni fulltime"
"ma scusi da visual c a Asp a dotnet a db2...ma che cercano? gente per 
fare installazioni o assistenza?"
"No...per sistemare le cose dai clienti..."
"Va beh"
.....arriva il momento della proposta economica....
"Sa avevano in mente gente con una due anni di esperienza....."
"Contratto a progetto...."
"Ma non assumevano?"
"Si hanno 50 dipendenti tutti a progetto!..."
"Ehm (penso dentro di me) dipendenti un piffero!....vabbe sentiamo 
quanto offrono"
"Lei quanto chiederebbe?"
"Mah mi sembrano richieste molto da junior....1400 al mese?...visto che 
stanno lontano da casa...non offrono rimborsi...ne benefit..."
"Eh siamo distanti...loro avevano in mente 1100 ...intorno quella 
cifra"
"MAH (a questo punto voglio vedere che roba è)...senta meno di 
1200....veda lei"
"OK allora invio il curriculum poi ci sarà l'esame tecnico poi il 
periodo di prova poi il contratto a progetto"
 
BAH! ....l'ultima volta dipendente son stato 15 anni fa....ma non so 
mica se mi adatto a 49 anni a fare il precario!!!!!
 
 
Domanda: dov'è l'inculata?
A parte gli euri....son pochi vero? (io non son laureato però)
So che con il contratto a progetto non pagano contributi.
Ma se mi dicono contratto a progetto 1000 euro che vuol dire???
....1000 euro al mese di 8 ore al giorno?
....oppure 1000 euro per finire quel progetto e poi cazzi tuoi anche a 
lavorare 20 ore al giorno per 3 mesi?
 
Tornando a casa in macchina mi venivano questi dubbi!
 
-- 
----- Italliaaaaa 3227! -----
Ho trovato una città di mattoni, ve la restituisco di marmo.
(Imperatore Augusto da Epistole)
 
 

 preferenziale: la conoscenza di Oracle."....
Oggi se cerchi *qualsiasi* lavoro, ti richiedono età inferiore ai 12 anni, esperienza centennale, poliglotta, disponibilità a trasferte a tue spese in Cina, brevetto di volo, disponibilità a sevizie di natura sessuale, etc.
 
Per quanto riguarda il compenso, non ti credere di trovare facilmente offerte di inserimento migliori. Da noi gli Ing. veterani guadagnavano al massimo € 1.500 netti + le spese di trasferta (se c'era). Solo questi erano a contr. Ind. . Gli altri a progetto e a € 1.100. Per il sostentamento in trasferta, l'Az. (io) offriva albergo a 3 stelle e riconosceva € 40 di diaria per il cibo, che non era male.
Per le tecnologie, al 90% era richiesto DataWareHouse e, sullo strato superiore, relativo Business Intelligence con varie piattaforme. Per questo, il requisito fondamentale era Oracle a vari livelli e relativo PL-SQL (proprietario).
Per il rimanente 10% era richiesto JavaEE; punto.
Di 40 consulenti, ne avevamo uno solo impegnato su .NET. Le committenze erano tutte le agenzie di borsa, istituti di credito, assicurazioni, etc.
Mi spiace, ma lo scenario non è rassicurante.
 
A progetto li paghi eccome i contributi. Per essere precisi (materia che odio)  paga poco l'imprenditore: non ti viene riconosciuta la mutua, le ferie, etc.
Per me andrebbe pure bene, in un rapporto occasionale. Io ero lì da 3 anni e di occasionale c'era solo il fatto che non trovavo altro; e nell'ingrato ruolo che ho scritto sopra.

 i seguenti aspetti:
vabeh
allora mi oriento su aiuto pizzaiolo o aiuto cuoco.....pagano di più! e 
lavorano di meno!
 
-- 
----- Italliaaaaa 3227! -----
Anche sul trono più alto del mondo, si sta seduti sul proprio culo.
( Michel de Montaigne )
 
 

 i seguenti aspetti:
cmq 1500 un laureato senior ....cavolo!...ci si meraviglia che non 
nasca nulla di interessante in Italia e che i sw siano delle ciofeche!
MAH!
 
-- 
----- Italliaaaaa 3227! -----
Là dove l'uomo scopre un minimo di ordine, immediatamente ne suppone 
troppo.
(Francesco Bacone)
 
 

 BAH! ....l'ultima volta dipendente son stato 15 anni fa....ma non so mica se mi adatto a 49 anni a fare il precario!!!!!
 
Peccato tu sia in quel di Prato.
Qui a Monza noi abbiamo assunto 3 persone negli ultimi 4 mesi e ne stiamo cercando un altro paio.
 
Nicola

Dopo dura riflessione, Nicola Ottomano ha scritto :

non v'è problema....gli affittacamere ci stanno per quello no...??? se 
il lume vale la candela!!!!!
;)
 
-- 
----- Italliaaaaa 3227! -----
Come ti senti oggi???
 
Giano Geminus Bifrons Bepop Flowers
http://youtu.be/Wk_gyLo0i-c
 
minuto 3:14
 
(Un uomo un mito: Luciano Lupoletti)
 
 

 Peccato tu sia in quel di Prato.
Prato? Io di Viareggio.

 Prato? Io di Viareggio.
 
Toscana ....un ecatombe di aziende!!!! Pare che ad empoli ne abbian 
fatti fuori 150 d'un botto nell'IT!
 
-- 
----- Italliaaaaa 3227! -----
Il grande maestro di pittura meta-gastro-fisica Luciano Lupoletti in:
David Arlequin
http://www.lupoletti.com/public/lupoletti/09-10-24-12-05-21@David%20Arlequin%20-%20Olio%20su%20tela.jpg
 
 
(ROTFL: oddio mi ribalto)
 
 

 ;)
 
E' quello il problema. Il lume vale sicuramente la candela se sei della zona.
Ma se devi spendere tra i 500 ed i 700 euro per un monolocale/bilocale + spese di condominio + luce e gas...
Alla fine, puliti, ti restano gli stessi soldi che ti hanno offerto a Prato.
 
Nicola
 

 Nicola
 
sig se son nato in una zona ad alta densità di DISinformatica che ci 
posso fare''''!!!!!!!!!! :'( :oÞ


 Nicola
Rispetto ovviamente la tua competenza territoriale, ma mi sembrano stime ottimistiche. Se è così, è migliorato.
Noi sino ad un'anno e mezzo fa, a MI a meno di € 1.000 non trovavamo, nemmeno un mini. Magari con le pulizie, ma sempre super mini rimaneva. Bilocale nemmeno a parlarne.
Ci costava come e più degli alberghi. Infatti era raro che si trovasse una soluzione. Gli altri stavano tutti in albergo. Se lo fai un giorno a settimana, è una cosa. Se lo fai 4 giorni su 5 in trasferta, dopo anni (molti erano su da anni) la cosa ti pesa anche se hai 25 anni. E l'appartamento aiuta. In albergo non sei mai a "casa tua". Almeno fosse sempre la stessa camera. Ovviamente è impossibile. Ah, Io sono di Viareggio. La società era in prov. di Pisa. I consulenti erano tutti a MI, ma alcuni  erano a FI e un paio di Viareggio. Per sette anni, 2 ore di treno ad andare e altrettante a tornare.
Li gestivo io questi aspetti.


Beh, dipende. Milano è sicuramente più costosa (ma si trovano monolocali già a 600 €).
Un mio collega è a Sesto Marelli e paga 570 € per un monolocale, con tanto di contratto di affitto.
A Monza, che ora fa provincia a sè, si trova già qualcosa sui 500 €/mese (sempre di monolocali stiamo parlando) fino ai 1000 € ed oltre se si vuole un bilocale o trilocale in zone residenziali non troppo fighette.
 
Io sono di Bari, per cui mi son fatto quasi 8 anni di affitti su Milano.
Da un paio d'anni ho deciso di fare un mutuo e comprare casa a buon prezzo, grazie anche alla crisi della vendita degli alloggi.
 
Nicola

 Nicola
Meglio così :)