DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Fórum DevMedia


Autor
Mensagem
PJava
 

País: Brasil
Estado: SP
Cidade: Artur
Mensagens: 1424
 Postado em: 9/5/2012 5:28:28 PM

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
 

País: Brasil
Estado: SP
Cidade: Artur
Mensagens: 1424
 Postado em: 9/5/2012 5:50:49 PM
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();
}
}
}

 
PJava
 

País: Brasil
Estado: SP
Cidade: Artur
Mensagens: 1424
 Postado em: 9/5/2012 6:11:37 PM
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);

}

 
PJava
 

País: Brasil
Estado: SP
Cidade: Artur
Mensagens: 1424
 Postado em: 9/5/2012 8:02:27 PM
Resolvi assim:

......

OracleDataReader dr = comando.ExecuteReader();

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

........

 
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03