Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

m4rkynh0z

[Resolvido] Populando DropDownlist

Recommended Posts

Boa a todos estou tendo um problema para popular o DDL atraves de uma consulta ao banco

Testei varios exemplos que encontrei na internet e apenas um mostrou o conteudo dentro do DDL, só que colocou o tanto no value quanto no text o mesmo texto..

Alguem sabe alguma forma de popular o DDL com o codigo no value e o texto entre as tags??

 

Codigo C#

CODE

private void preencheCombo()

{

sql = new StringBuilder();

sql.Append("SELECT aux.id,aux.titulo FROM menu m");

sql.Append(" INNER JOIN menu aux ON aux.menuId = m.id ");

 

Connection objConn = new Connection();

objConn.Consultar(sql.ToString());

 

DataSet ds = new DataSet();

 

try

{

objConn.adp.Fill(ds, "menus");

}

 

catch (Exception ex)

{

//userName = ex.Message;

}

 

 

cbSuperior.Items.Insert(0, "Superior");

for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

cbSuperior.Items.Add(ds.Tables[0].Rows["titulo"].ToString());

}

//cbSuperior.DataSource = ds;

//cbSuperior.DataBind();

 

objConn.close();

objConn.adp.Dispose();

// ds.Dispose();

}

Dessa maneira esta apenas mostrando o texto...

 

Agrandeço se alguem poder me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique os parâmetros o que método Add suportam em suas sobrecargas.

 

Lhe recomendo criar um objeto ListItem e preenche ele, ai no método Add você passa o Objeto ListItem como parâmetro.

 

Flwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou movendo seu tópico para o sub-fórum Web Applications para uma melhor organização do fórum ok.

 

Grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou movendo seu tópico para o sub-fórum Web Applications para uma melhor organização do fórum ok.

 

Grande abraço.

 

Consegui fazer funcionar http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

CODE
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)

{

ListItem lSuperior = new ListItem();

lSuperior.Value = ds.Tables[0].Rows["id"].ToString();

lSuperior.Text = ds.Tables[0].Rows["titulo"].ToString();

cbSuperior.Items.Add(lSuperior);

}

Mas tive que criar um objeto para cada linha sabe me informar se tem como fazer isso de uma maneira..

 

Vlw Pela Ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

m4rkynh0z

 

eu faço de um outro jeito,..... vamos ver se te ajuda

 

DataSet ds1 = new DataSet();
	   OracleDataAdapter da =  new OracleDataAdapter(SQL, conexao);
	   da.Fill(ds1);

	   dd.DataSource = ds1;
	   dd.DataTextField = "nom_pessoa";
	   dd.DataValueField = "cdn_repres";
	   dd.DataBind();

isso logo após o meu select...

 

eu crio um data set qualquer com a minha consulta SQL e logo apos populo o meu dropdown. depois de popular ele, defino qual vai ser o campo da consulta que será o meu TextField e qual será o ValueField, um DataBind para encerrar e não esqueça de fechar a conexão com o banco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só um coisa seria enteressante usar um DataTable ao invés de um DataSet. pois você utilizara só uma tabela ao inves de alocar um DataSet na memoria ..

Digamos que para o .Net É mais ecologicamente correto rs

Um Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw pessoal consegui resolver o problema ja faz um tempo....

No caso quando tentava usar o codigo parecido com o que o Tom55 tava esquecendo usar o nome da tabela

No caso de usar o dataTable achei interessante de usar apenas uma tabela e nao "n" como o dataSet..

 

Mas sobre qual é melhor li em outro artigo que nao lembro onde que nao tem tanta diferença entre um e outro, pois o .net trata isso...

Como faço para colocar esse POST como resolvido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.