Usuário com melhor resposta
Adicionar Itens no meu DropDownlist em C#

Pergunta
-
Tenho a seguinte linha de comando abaixo:
string _connectionString = WebConfigurationManager.ConnectionStrings["CONNECTIONSTRING"].ConnectionString;
DropDownList DropDownListCODAREA = (DropDownList)FormView1.FindControl("DropDownListCODAREA");
DropDownList DropDownListCODSUB = (DropDownList)FormView1.FindControl("DropDownListCODSUB");
string _strSQL03 = "SELECT CODAREA,CODSUB,CC FROM WHERE CODAREA = '" + DropDownListCODAREA.Text + "'";
SqlConnection con03 = new SqlConnection(_connectionString);
SqlCommand cmd03 = new SqlCommand(_strSQL03, con03);
cmd03.CommandType = CommandType.Text;
using (con03)
{
con03.Open();
SqlDataReader dr03 = cmd03.ExecuteReader();
if (dr03.Read())
{
ABAIXO EU SO ADICIONO UM ITEM APENAS E EU QUERO ADICIONAR TODOS CONFORME ORIENTAÇÃO ABAIXO EM NEGRITO
//DropDownListCODSUB.Text = (string)dr03["CODSUB"];AQUI EU GOSTARIA DE ADICIONAR OS ITENS DE ACORDO COM MEU SELECT ACIMA, MAS ANTES SEMPRE LIMPANDO
MEU DROPDOWNLISTCODSUB.
COMO FAÇO ISSO ?
}
else
{
DropDownListCODSUB.Text = "";
}
dr03.Close();
con03.Close();
Respostas
-
A propriedade AppendDataBoundItems do DropDownList deve estar como true.
DropDownListCODSUB.Items.Insert (0, new ListItem,(dr03["CODSUB"].toString(), "0");
Esse código gera algum erro em sua aplicação ?
Se a sugestão resolver o problema, favor marcar como Resposta.
- Marcado como Resposta ricardoti2012 quarta-feira, 1 de agosto de 2012 14:52
Todas as Respostas
-
-
ESTOU TENTANDO DESSA FORMA MAS NÃO ESTA DANDO CERTO
DropDownListCODSUB.Items.Insert (0, new ListItem,((string)dr03["CODSUB"]),"");
COMO RESOLVER ?
OUTRA COISA TEM QUE TER UM LOOP PARA ADICIONAR TODOS OS ITENS DO SELECT FEITO ACIMA.
AGUARDO RETORNO.
OBRIGADO.
-
vc não precisa adicionar itens assim se vc tem um select já trazendo os dados vc precisa apenas exibi-los assim
gridviews1.DatatextField = "campo com a descrição";
gridviews1.DataValueField = "campo id da sua tabela";
gridview1.databind();
Junior
-
A propriedade AppendDataBoundItems do DropDownList deve estar como true.
DropDownListCODSUB.Items.Insert (0, new ListItem,(dr03["CODSUB"].toString(), "0");
Esse código gera algum erro em sua aplicação ?
Se a sugestão resolver o problema, favor marcar como Resposta.
- Marcado como Resposta ricardoti2012 quarta-feira, 1 de agosto de 2012 14:52
-
Paulo segue um exemplo de como pode ser feito o que deseja, no exemplo que fiz crio uma classe de Estado que será exibida no drop em seguida faço a consulta no BD e vínculo o list como datasource do drop fiz o exemplo com o SqlCE.
Segue o code:
//Classe Estado e seus atributos class Estado { public int IdEstado { get; set; } public string NomeEstado { get; set; } } //Evento Page load do formulário protected void Page_Load(object sender, EventArgs e) { //Verifico se não é um postback if (!Page.IsPostBack) { //chamo o método que carrega o drop... CarregaDrop(); } } //Método que carrega o drop private void CarregaDrop() { //Seto o texto que será exibido ddlEstados.DataTextField = "NomeEstado"; //Seto o valor do drop que será o idestado ddlEstados.DataValueField = "IdEstado"; //Vinculo o list retornado pelo método //como datasource do drop e ordeno pelo nome do estado ddlEstados.DataSource = ObterLista().OrderBy(x => x.NomeEstado).ToList(); //bindo o drop ddlEstados.DataBind(); //insiro o valor selecione na posição 0 ddlEstados.Items.Insert(0, "Selecione..."); //e marco a mesmo como index de seleção ddlEstados.SelectedIndex = 0; } //método que consulta o bd e me retorna //um list de estados private List<Estado> ObterLista() { //instância do list que será retornado var lista = new List<Estado>(); //instância da conexão var conn = new SqlCeConnection(@"Data Source=|DataDirectory|\Exemplo.sdf"); //comando sql ou seja a query a ser executada var sql = "SELECT * FROM Estado"; //instância do comando onde passo a conexão e a string com sql var cmd = new SqlCeCommand(sql, conn); //abro conexão conn.Open(); //instância do leitor var leitor = cmd.ExecuteReader(); //enquanto o leitor lê... while (leitor.Read()) { //instância do objeto que seja adicionado ao list Estado estado = new Estado(); //vinculo os valores lidos do bd ao objeto estado.IdEstado = Convert.ToInt32(leitor["IdEstado"]); estado.NomeEstado = leitor["NomeEstado"].ToString(); //adiciono o objeto a lista lista.Add(estado); } //fecho conexão conn.Close(); //retorno a lista return lista; }
Abraços e espero ter ajudado!
"Feliz aquele que transfere o saber e aprende o que ensina."(Cora Coralina)
Pablo Batista Cardoso
www.pablobatistacardoso.com.br
pablobatistacardoso@hotmail.com- Sugerido como Resposta Rafa Santos terça-feira, 31 de julho de 2012 20:05
-
Dessa forma esta carregando meu DropDownListCODSUB, mas esta carregando apenas um item.
Preciso colocar um loop para que carregue todos os itens do campo CODSUB
con03.Open();
SqlDataReader dr03 = cmd03.ExecuteReader();
if (dr03.Read())
{
DropDownListCODSUB.Items.Insert(0, new ListItem(dr03["CODSUB"].ToString(), "0"));
}
else
{
//DropDownListCODSUB.Text = "";
}
dr03.Close();
con03.Close();ALGUEM PODE ME AJUDAR ?
- Editado ricardoti2012 terça-feira, 31 de julho de 2012 19:36 Falta de uma linha de comando
-
E preciso tambem que limpe os itens do meu DropDownListCODSUB antes do comando acima descrito.
desde ja agradeço quem possa me ajudar.
Aguardo retorno.
Obrigado.
- Marcado como Resposta ricardoti2012 quarta-feira, 1 de agosto de 2012 14:51
- Não Marcado como Resposta ricardoti2012 quarta-feira, 1 de agosto de 2012 14:52