Mostrar id e nome no ComboBox

.NET

18/09/2015

Olá, tem como carregar na lista do combobox o id e o nome, semelhante a esta imagem abaixo ?
É em windowsform C#, o id e o nome estão no Banco de Dados.

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150918-080740.png[/img]
Jair Souza

Jair Souza

Curtidas 0

Respostas

Jothaz

Jothaz

18/09/2015

Na sua consulta retorne um campo com o dois valores concatenados e depois utilize em .DisplayMember.
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Esta é a consulta, como se concatena ?

SELECT IDLocatario, Nome

FROM Locatario

WHERE (Status IS NULL)

E como coloco no Display Member ?
GOSTEI 0
Jothaz

Jothaz

18/09/2015

Não me leve a mal, mas tem de estudar SQL se quer desenvolver, senão não vais a lugar nenhum.

Sugiro um consulta junto ao pai Google sql concatenate int com varchar
GOSTEI 0
Leandro Silva

Leandro Silva

18/09/2015

Você tem que buscar do dataset.
Mais ou menos isso aqui:
Combobox.text = seudataset.ID.ToString() + " - " + seudataset.nome
GOSTEI 0
Leandro Silva

Leandro Silva

18/09/2015

Depende do banco que você está utilizando. Qual é?
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

O banco é ACCESS.
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Certo, este projetinho que estou fazendo é para estudo...e quando termina o meu pequeno conhecimento, busco no google mesmo, mas neste caso como em outras vezes, não encontrei nada que me esclarecesse...
GOSTEI 0
Leandro Silva

Leandro Silva

18/09/2015

(Campo1 & " - " & Campo2) as nomeNovoCampo
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Segui a sua dica, mas ao tentar testar na query builder, fecha todo visual studio...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150920-135724.png[/img]
GOSTEI 0
Leandro Silva

Leandro Silva

18/09/2015

Segui a sua dica, mas ao tentar testar na query builder, fecha todo visual studio...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150920-135724.png[/img]


Jair, eu nunca utilizei o access em sistema nenhum, só no início para estudos.
Teste colocar entre parênteses e utilizar o "as novoNomeCampo".

Obs.: sem aspas.
GOSTEI 0
Jothaz

Jothaz

18/09/2015

SELECT [id] & "-" & [nome] AS Expr1, Tabela1.id, Tabela1.nome
FROM Tabela1;



Resultado:

[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20150920-150516.png[/img]
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Fiz assim, mas quando tento avançar para salvar ou testar, fecha o visual studio...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150921-084341.png[/img]
GOSTEI 0
Jothaz

Jothaz

18/09/2015

SELECT Convert(id,varchar) + "-" + nome AS Expr1
FROM Tabela1;
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Agora o visual não fecha, mas dá este erro...tentei fazer alguns ajustes mas não adiantou...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150921-104745.png[/img]
GOSTEI 0
Jothaz

Jothaz

18/09/2015

Nunca usei Access com WindowsForm C#, mas sei que o SQL do Access é cheio de frescuras.

A primeira expressão que postei funciona no Access.

Vamos tentar assim:
 SELECT Str(id) + "-" + nome AS Expr1
FROM Tabela1


Se o erro persistir, não sei como ajudar, você vai ter efetuar vários teste e achar a solução.
GOSTEI 0
Fernando C

Fernando C

18/09/2015

operador de concatenação no Access é &;
portanto, na SQL tente assim:
SELECT (id&nome) as "nome completo" from TABELA where bla bla bla;
.obs: esse "as" é obrigatório (de fato, Access é cheio de "coisa"..)..
ops.. corrigindo, não tinha reparado que tem um tracinho, espaços...:
( id&" "&"-"&" "&nome)
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Aqui funcionou...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150921-175226.png[/img]

Mas como carregar no combobox, não deixa alterar o display member... ?

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150921-175252.png[/img]
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Com sua dica com SELECT (IDLocatario&" "&"-"&" "&Nome) as Nome, dá erro e fecha todo visual Studio...

Assim como disse o JOTHAZ, aqui na query builder funciona, e coloquei “AS Nome”, para no value member combobox chamar por “Nome” que é um campo existente no BD :

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150922-153149.png[/img]

...mas ao selecionar um na lista do combobox, em vez de atualizar o TEXTBOX com o ID respectivo, está colocando um número negativo...e dá este erro...

[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150922-153215.png[/img]

Tentei alguns ajustes...mas a falta de conhecimento não ajudou...
GOSTEI 0
Jair Souza

Jair Souza

18/09/2015

Consegui, resolvido :

SELECT        Str(IDLocatario) + '  -  ' + Nome AS Nome, Nome AS Expr1


[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20150922-164507.png[/img]


Muito obrigado pela ajuda !
GOSTEI 0
POSTAR