Due valori nella combobox

mercoledì 24 marzo 2004 - 11.23

sarto76 Profilo | Junior Member

ciao a tutti, forse la mia domanda è elementare ma è quasi 2 giorni che sto provando a risolverlo ma non ho trovato niente, neanche nei vari forum

Io metto dei valori di una select in un dataset e da qui in una combobox in questo modo:

string allievo="select all_id,all_nome,all_cognome from allievo";
OdbcDataAdapter all=new OdbcDataAdapter(allievo,database.connessioneDB);
DataSet DSall=new DataSet();
all.Fill(DSall);
try
{


CBallievo.DisplayMember="all_cognome";
CBallievo.ValueMember="all_id";
CBallievo.DataSource=DSall.Tables[0];
DSall.Dispose();
}


Come faccio a far apparire nella combobox (displayMember) sia il nome che il cognome?


Grazie mille a tutti

ciao Max

Brainkiller Profilo | Guru

Ciao,
facciamo intanto una premessa, il combobox di .NET è fatto per visualizzare solo una colonna di valori diversamente da quello di Microsoft Access che ne può visualizzare di più.
Per risolvere il problema puoi derivare dalla classe ComboBox una tua classe e personalizzare le funzionalità del tuo Combo, però se non l'hai mai fatto è una cosa un po' complicata.
Oppure puoi scaricare componentei freeware o commerciali di terze parti.
Oppure ancora, nella query SQL puoi concatenare nome e cognome in questo modo:

SELECT (Nome + ' ' + Cognome) as nome From Utenti

così facendo te li ritrovi affiancati come fossero un unico valore nella combobox.
Come riferimento vai a leggere anche questo thread che ci sono link utili:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=666

ciao
david

sarto76 Profilo | Junior Member

Grazie mille funziona, ho cambiato la query...
ho il DB in mysql, quindi ho utilizzato CONCAT

Ciao

Brainkiller Profilo | Guru

Perfetto, ecco ogni DB poi ha delle personalizzazioni sugli operatori.
In SQL Server in genere si concatena con il +. :)
ciao

david

riofly Profilo | Newbie

Semplice, basta che modifichi la SELECT, concatenando opportunamente i due campi che vuoi che si vedano.
Ad esempio... adesso non ricordo la struttura tabellare di ALLIEVI quindi me la invento. Ad esempio, dicevo, puoi fare così:

SELECT Allievi.Nome + ' ' + Allievi.Cognome FROM Allievi


Ciao !
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