Ir para conteúdo

Arquivado

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

Gilnet

Problemas ao preencher DropList

Recommended Posts

Olá,

 

Preciso preencher um DropList com os campos idDepto e Depto, porém, quando o usuário clicar sobre o nome do depto no o conteúdo de idDepto deve ser passado para uma varável.

 

Segue abaixo o código:

Aqui preenche um gridview

 

protected void btnLocalizar_Click(object sender, EventArgs e)
    {
        idDepto = 0;
        idFuncao = 0;
        Opcao = 3;
        lblMSG.Text = "";
               
        DataSet ds = new DataSet();
        SqlConnection Conexao = null;
        
        //Esta parte preenche um gridview - está funcionado beleza
        try
        {
            Conexao = new SqlConnection(ConfigurationManager.ConnectionStrings["sConexao"].ConnectionString);
            SqlCommand pISQL = new SqlCommand("pFuncao", Conexao);
            pISQL.CommandType = CommandType.StoredProcedure;

            pISQL.Parameters.Add("@Opcao", SqlDbType.Int).Value = Opcao;
            pISQL.Parameters.Add("@idFuncao", SqlDbType.Int).Value = idFuncao;
            pISQL.Parameters.Add("@Funcao", SqlDbType.VarChar, 30).Value = txtFuncao.Text;
            pISQL.Parameters.Add("@idDepto", SqlDbType.Int).Value = idDepto;

            SqlDataAdapter da = new SqlDataAdapter(pISQL);
            da.Fill(ds);
            grdListaFuncao.DataSource = ds;
            grdListaFuncao.DataBind();
            btnGravar.Enabled = false;
        }
        catch (Exception ex)
        {
            lblMSG.Text = ex.Message;
        }
        finally
        {
            Conexao.Close();
        }
        
        txtFuncao.Focus();
        Opcao = 3;
       
        //Aqui é para preencher o DropList - este não está funcionando
        try
        {
            Conexao = new SqlConnection(ConfigurationManager.ConnectionStrings["sConexao"].ConnectionString);
            SqlCommand pISQL = new SqlCommand("pDepto", Conexao);
            pISQL.CommandType = CommandType.StoredProcedure;

            pISQL.Parameters.Add("@Opcao", SqlDbType.Int).Value = Opcao;
            pISQL.Parameters.Add("@idDepto", SqlDbType.Int).Value = idDepto;
            pISQL.Parameters.Add("@Depto", SqlDbType.VarChar, 30).Value = "";

            cboDepto.Items.Clear();

            SqlDataAdapter da = new SqlDataAdapter(pISQL);

            da.Fill(ds, "Depto");
            cboDepto.DataTextField = "Depto";
            cboDepto.DataValueField = "Depto";
            cboDepto.DataSource = ds;
            cboDepto.DataBind();
            variavel = cboDepto.idDepto - Assim que o nome do depto no DropList for clicado
        }
        catch (Exception ex)
        {
            lblMSG.Text = ex.Message;
        }
        finally
        {
            Conexao.Close();
        }
    }

Alguém ajuda ????

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um erro que acredito que seu código tenha em primeiro lugar é que o DataTextField e o DataValueField estão recebendo o mesmo campo do BD, veja:

 

cboDepto.DataTextField = "Depto";
cboDepto.DataValueField = "Depto";

Em segundo lugar, não entendi o que queria fazer em:

 

variavel = cboDepto.idDepto - Assim que o nome do depto no DropList for clicado

 

Se quiser pegar a seleção da DropDownList, terá que utilizar um evento da DropDownList, ao invés de tentar capturar o valor logo que tiver feito o Bind.

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.