VSTO-Excel-Menu a tendina

venerdì 28 marzo 2008 - 11.43

gdlcore Profilo | Junior Member

Ciao a tutti,
ho un problema..mi spiego nel modo migliore possibile,spero di riuscirci.

Ho un foglio excel per stampare una semplice fattura.
Vorrei completare molti dei campi con menù a tendina.
Mi sono bloccato quasi subito, alla selezione nel menù a tendina di "Spett.le" dove vado a selezionare il nome del cliente.
Questo nome è preso da un altro foglio excel contenente tutti i clienti, io vorrei prima di tutto visualizzare nel menu a tendina tutti i clienti e anche i loro relativi dati(anche nella tendina),e dopo averlo fatto far uscire automaticamente tutti i suoi dati nelle altre celle per completare la parte "Spett.le".

Questo è il mio problema, è possibile farlo in excel o bisogna farlo con Vb2005? Mi aiutate?..grazie a tutti..


Ho un immagine di esempio della Tendina che visualizza tabellina(intervallo selezionato)..

150x143 4Kb

TOPOAMORE Profilo | Expert

Ciao
Secondo me per un lavoro del genere, se vuoi continuare ad usare office, devi usare Access anche perche e piu pilito con bei report; se poi apassi a vb .net meglio

ciaoooo

gdlcore Profilo | Junior Member

Si ma il mio problema è: come si fa? Almeno far vedere il menu a tendina che mi fa selezionare il nome del cliente, con le relative informazioni su di lui..aiutatemi per favore..

TOPOAMORE Profilo | Expert

cosa come si fa?
a farlo in access in vb o in excel?

gdlcore Profilo | Junior Member

Ora lo sto facendo in Vb.Net..

TOPOAMORE Profilo | Expert

Ti spiego il procedimento poi se ti serve ancora una mano chiedi

Premettendo che in vb 2003(non so in 2005) non e possibile visualizzare piu di un campo in una combobox.

Si puo usare un'alternativa che ti va a caricare i dati, con unospazio una dall'altro in poche parole cosi
es.
id cognome nome datanascita ecc....
id2 cognome2 nome2 datanascita2 ecc....
in questo modo potrai andare a splittare la text della combo avendo tutti i dati a tua disposizione.

Una volta splittata la text in un'array li andrai a mettere direttamente nei campi che ti serviranno per il tuo futuro utilizzo.

Se vuoi c'e' anche un'altro metodo

vedi se riesci con questo

ciaoooo

gdlcore Profilo | Junior Member

Ah e questi campi con lo spazio dove me li carica?Nella combobox?Si questo metodo potrebbe andar bene..come faccio?

Lucifel Profilo | Junior Member

Ti devi creare una sorgente dati da dare in pasto alla combobox


ad esempio se vuoi i tuoi dati li hai in una datatable dopo li devi inserire nella combo così:

ComboBox1.DataSource = dt ComboBox1.DisplayMember = "text" ' Campo che usi come testo visibile nella combo ComboBox1.ValueMember = "id" ' Campo che usi come id

Ovviamente la tua datatable deve avere 2 colonne chiamate id e text...

Poi, per ottenere il valore selezionato devi usare:

ComboBox1.SelectValue ' Per ottenere l'id selezionato

Questo di default è di tipo Object, quindi se tu vuoi un intero devi fare un cast.

La datatable la puoi riempire come meglio credi però se hai una datatable con tante colonne: id, cognome, nome, numero telefono, ecc ecc e tu vuoi visualizzare tutto sul testo della tua combobox devi creare una nuova colonna dove inserirai la composizione di tutte le colonne che vuoi visualizzare, perché come ti hanno detto una combo può visualizzare solo 1 colonna, quindi ti crei una colonna

text = cognome & " " & nome

ad esempio

Oh beh... ovviamente puoi usare anche un'altra sorgente dati, come un arraylist o qualche altra struttura... sappi però che il problema che la combo ti visualizza solo 1 campo resta...
Io ti ho spiegato con la datatable perché mi riesce più facile, ma alla fine è la stessa cosa...

Spero di esserti stato utile

Diego
-----------------------------------
Avanti sempre e comunque!
-----------------------------------
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5