Vsualizzare due colonne di un datatable in listbox

venerdì 30 aprile 2010 - 22.52

TaiChi Profilo | Junior Member

Salve a tutti,

ho una listbox collegata a un datatable che ha 3 campi, io vorrei visualizzare visualizzare nella listbox 2 di questi invece dell'unico impostabile in DisplayMember, ci sto provando ma non sono riuscito a capire come fare.

In pratica vorrei una sorta di Select campo1 & " " & campo2 As Campo From Tabella.

Si può fare?

Grazie.

Alessio Forconi

alexmed Profilo | Guru

Ciao
Si! Si può fare.
Nella query al posto di mettere il segno di concatenazione "&" metti il "+".

Ciao

alexmed

TaiChi Profilo | Junior Member

>Ciao
>Si! Si può fare.
>Nella query al posto di mettere il segno di concatenazione "&"
>metti il "+".
>
>Ciao
>
>alexmed
Ciao Alex

grazie del suggerimento ma non sono riuscito a spiegarmi bene.

Ho la listbox alla quale ho associato dal wizard sia il datasource che il valuemember e il displaymember che da la possibilità di impostare un campo e uno solo, che sarebbe poi quello che si vede, ma io vorrei mostrare due campi concatenati in displaymember.

La stringa sql l'ho messa solo per far capire quello che vorrei fare.

Grazie per l'aiuto




Alessio Forconi

alexmed Profilo | Guru

Ciao
Prova così:
Doppio click sul file DataSet.xsd che trovi su Esplra soluzione
Nel DataTable che ti intressa fai click con il tasto destro nel TableAdapter e scegli configura: lì puoi modificare la query

alexmed

TaiChi Profilo | Junior Member

Perfetto, grazie !!!

Alessio Forconi

TaiChi Profilo | Junior Member

>Ciao
>Prova così:
>Doppio click sul file DataSet.xsd che trovi su Esplra soluzione
>Nel DataTable che ti intressa fai click con il tasto destro nel
>TableAdapter e scegli configura: lì puoi modificare la query
>
>alexmed

Credevo che funzionasse ma non è del tutto esatto.
La tabella in questine ha questi campi:

IDTerritorio - numerico primary key
NomeTerritorio - testo

se nel dataset faccio questa query:

SELECT IDTerritorio, NomeTerritorio & ' ' & IDTerritorio AS Territorio FROM Territori
funziona regolarmente e nel listbox posso associare al displaymember il campo Territorio.

Se invece provo fare
SELECT IDTerritorio, IDTerritorio & ' ' & NomeTerritorio AS Territorio FROM Territori
il dataset mi da un errore quanto tenta di compilare la query dicendo

"Tentativo di lettura o scrittura della memoria protetta. Spesso questo indica che alte parti della memoria sono danneggiate."

Ho provato in tutte le varianti ma capita sempre se metto nell'unione dei campi prima IDterritorio, anche in progetto creato apposta con la sola form interessata.

È mai capitato a qualcuno?

Grazie.


Alessio Forconi

alexmed Profilo | Guru

Ciao
Come prima prova, sostituisci il simbolo di concatenazione "&" con il "+" perchè è quello giusto per T-SQL.
Se non riesci e ti dà ancora errore poni la questine nella stanza relativa ai database.

Ciao


alexmed

TaiChi Profilo | Junior Member

Continuo qui perchè il problema della concatenazione dei campi si è risolto mettendo + ' ' + come avevi detto tu.

Adesso però ottengo un'altra eccezione, quando viene invocato il metodo .Fill
this.territoriTableAdapter.Fill(this.territoriRomeniDataSet.Territori);

l'eccezione dice:
"Il provider non ha potuto determinare il valore di Double. Esempio: la riga è stata appena creata, non è disponibile un valore predefinito per la colonna Double e il consumer non ha ancora assegnato a Double un nuovo valore."

Questo non credo dipenda dal database ma da qualche impostazione che probabilmente ho toppato.

Grazie.

Alessio Forconi
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