Array
(
)

Preencher combobox de um bd

Pjava
   - 09 mai 2012

Preciso fazer um métod genérico para preencher alguns combobox, que nesse projeto, todos eles vêm damesma tabela, Então ficou mais fácil. No método eu gostaria de passar esses parametros:
public void enchecombo(Comobobox cb)
{
Meu select....
Meu while
cb.Add(meu_campo);
}....
Acontece que o tipo Combobox não existe. Como eu faço(não é código, mas qual using eu uso. Na página aspx está assim o combobox:
<asp:DropDownList runat=server ID=cboEmissor style=font-famiuly:Verdana,font-size=12px width=100%>
<asp:ListItem Text=TODOS Value=00 />
<asp:ListItem Text=BANCO A Value=01 />
<asp:ListItem Text=BANCO B Value=02 />
......
</asp:DropDownList>
É essa combo que eu ieri encher. Meu problema não está no código,mas sim como declarar isso em meu CodeBehind

Pjava
   - 09 mai 2012

Em realidade é um dropdownlist. Bem, consegui montar o método, mas na combo aparece apenas isso:

System.Data.Common.DataRecordInternal

O código que eu fiz foi o abaixo:

public Boolean Execute(DropDownList dl){
........
OracleDataReader dr = comando.ExecuteReader();
if(dr.HasRows)
{
while(dr.Read()
{
string nome = dr[EMI_C_NOME].ToString();
dl.DataSource = dr;
dl.DataBind();
}
}
}

0
|
0

Pjava
   - 09 mai 2012

Meu código completo. Seeu retiro otext e o value, vem o erro citado bem acima. Se deixo, a combo vem com os valores default na tela aspx.

using System;
using System.Linq;
using System.Web;
using System.Data.OracleClient;
using System.Data;
using System.Text;
using System.Configuration;
using System.Collections.Generic;
using System.Web.UI.WebControls;

namespace GetNet.Monitoracao.UI.Web.Graficos
{
public class PreencheComboboxBL
{
private OracleCommand comando;

public Boolean Execute(DropDownList dl)
{
Boolean retorno = false;

string Erro = ;

StringBuilder comandoSQL = new StringBuilder();
comandoSQL.AppendLine(SELECT );
comandoSQL.AppendLine(EMI_C_NOME );
//comandoSQL.AppendLine(, );
comandoSQL.AppendLine(FROM );
comandoSQL.AppendLine(MNT_EMI_EMISSOR );

OracleConnection oracleConexao = new OracleConnection();
oracleConexao.ConnectionString = ConfigurationManager.ConnectionStrings[oracleConexao].ConnectionString;

this.comando = new OracleCommand(comandoSQL.ToString(), oracleConexao);
try
{
oracleConexao.Open();
comando.ExecuteNonQuery();

OracleDataReader dr = comando.ExecuteReader();

dl.DataSource = dr;
dl.DataTextField = dr[EMI_C_NOME].ToString();
dl.DataValueField = dr[EMI_N_CODIGO].ToString();
dl.DataBind();

}
catch (Exception excecao)
{
Erro = excecao.Message;
}
finally
{
oracleConexao.Close();
}

comando.Dispose();
retorno = true;
return retorno;
}
}
}

//Aqui eu chamo a classe
private PreencheComboboxBL cb = new PreencheComboboxBL();

protected void Page_Load(object sender, EventArgs e)
{
cb.Execute(cboEmissor);

}

0
|
0

Pjava
   - 09 mai 2012

Resolvi assim:

......

OracleDataReader dr = comando.ExecuteReader();

dl.DataSource = dr;
dl.DataTextField = EMI_C_NOME;
dl.DataValueField = EMI_N_CODIGO;
dl.DataBind();

........

0
|
0