DropDownList com mais de um campo
Tem como preencher e visualizar mais de um campo no DropDownList com registros de uma tabela e como pegar o valor de um campo da linha selecionada?
Melkcimar Costa
Curtidas 0
Respostas
Rodrigo Mourão
08/12/2009
Olá amigo, qual versão do Delphi .Net esta utuilizando para saber se utiliza a framework 1.1 ou 2.0.
Fico no aguardo !!
Att,
Fico no aguardo !!
Att,
GOSTEI 0
Melkcimar Costa
08/12/2009
Versão 2005
GOSTEI 0
Rodrigo Mourão
08/12/2009
Perfeito, vou tentar montar um ambiente aqui com 2005 para fazer os teste np .net 1.1. Caso não consiga desenvolverei na versão 2.0 e citarei as alterações caso haja.
Peço por gentileza que aguarde que em breve postarei o código.
Att,
Peço por gentileza que aguarde que em breve postarei o código.
Att,
GOSTEI 0
Melkcimar Costa
08/12/2009
ok, obrigado, rodrigo, aproveitando, fiz outro chamado nro. 12787,
pra saber como passar 2 campos como parâmetros no gridview para
selecionar um registro em outro formulario com estes 2 campos, veja
se vc consegue me ajudar nisto tb.
Obrigado,
Melk.
GOSTEI 0
Rodrigo Mourão
08/12/2009
Ok Amigo,
Ja esta comigo,
Estou montano o ambiente com D2005 e tento resolver os 2.
Att,
Ja esta comigo,
Estou montano o ambiente com D2005 e tento resolver os 2.
Att,
GOSTEI 0
Rodrigo Mourão
08/12/2009
Olá Amigo,
Estamos trabalhando so seu problema. Peço a gentileza que aguarde mais um pouco.
Att,
Estamos trabalhando so seu problema. Peço a gentileza que aguarde mais um pouco.
Att,
GOSTEI 0
Rodrigo Mourão
08/12/2009
Olá Amigo,
É possiovel sim colocar dois, tres ou mais campos no DropDownList, mas consegui via código. Agora surge um problema. O DropDownList funciona assim, vc passa dois valores para ele. Um será mostrado para o usuario e outro fica "oculto" e será usado justamente como indece para retornar o item selecionado.
Agora imagine que vc mostre no dropDownList o nome e telefone do cliente. Até ai tudo bem, mas como indice vc so poderá colocar um valor, neste caso seria o codigo do cliente.
Bem via codigo nos colocarimos o conteudo de dois campos assim:
var
Con: SqlConnection;
Com: SqlCommand;
Res: SqlDataReader;
begin
Con := SqlConnection.Create('Data Source=VMWINXP-PC\SQLEXPRESS;Initial Catalog=DBConsultoria;Integrated Security=True');
con.Open;
Com := SqlCommand.Create('SELECT LancamentosID, Jan, Fev FROM Lancamentos',con);
Res := Com.ExecuteReader;
while Res.Read do
begin
DropDownList1.Items.Add(Res.GetDecimal(1).ToString+' '+
Res.GetDecimal(2).ToString);
end;
con.close;
end;
Lembre-se se alterar os parametros para o seu banco de dados.
Para recuperar o item selcionado poderá fazer de uma das maneiras abaixo.
TextBox1.Text := DropDownList1.Text;
DropDownList1.SelectedIndex;
DropDownList1.SelectedItem;
DropDownList1.SelectedValue;
Att,
É possiovel sim colocar dois, tres ou mais campos no DropDownList, mas consegui via código. Agora surge um problema. O DropDownList funciona assim, vc passa dois valores para ele. Um será mostrado para o usuario e outro fica "oculto" e será usado justamente como indece para retornar o item selecionado.
Agora imagine que vc mostre no dropDownList o nome e telefone do cliente. Até ai tudo bem, mas como indice vc so poderá colocar um valor, neste caso seria o codigo do cliente.
Bem via codigo nos colocarimos o conteudo de dois campos assim:
var
Con: SqlConnection;
Com: SqlCommand;
Res: SqlDataReader;
begin
Con := SqlConnection.Create('Data Source=VMWINXP-PC\SQLEXPRESS;Initial Catalog=DBConsultoria;Integrated Security=True');
con.Open;
Com := SqlCommand.Create('SELECT LancamentosID, Jan, Fev FROM Lancamentos',con);
Res := Com.ExecuteReader;
while Res.Read do
begin
DropDownList1.Items.Add(Res.GetDecimal(1).ToString+' '+
Res.GetDecimal(2).ToString);
end;
con.close;
end;
Lembre-se se alterar os parametros para o seu banco de dados.
Para recuperar o item selcionado poderá fazer de uma das maneiras abaixo.
TextBox1.Text := DropDownList1.Text;
DropDownList1.SelectedIndex;
DropDownList1.SelectedItem;
DropDownList1.SelectedValue;
Att,
GOSTEI 0
Melkcimar Costa
08/12/2009
Não deu certo, o Dropdownlist ficou vazio, não trouxe nenhum item, o q pode estar errado?
procedure TWebForm1.SelectCCusto;
var
drCCustos: FbDataReader;
begin
cmdSelectCCustos.Parameters['NRO_LOJA'].Value :=
Session['NRO_LOJA'];
drCCustos := cmdSelectCCustos.ExecuteReader;
while drCCustos.Read do
begin
ddlCCusto.Items.Add(drCCustos.GetDecimal(1).ToString+' '+
drCCustos.GetDecimal(2).ToString);
ddlCCusto.DataBind;
end;
drCCustos.Close;
end;
GOSTEI 0
Melkcimar Costa
08/12/2009
Rodrigo, deu certo, troquei os getdecimal pelo nome dos campos da tabela.
Obrigado.
GOSTEI 0