none
Carregar Valor do banco no DropDownList RRS feed

  • Pergunta

  • Boa tarde,

    Como faço para carregar o valor de uma coluna no DropDowList. Tentei da seguinte Maneira

    Quando eu clicar no botão editar ele puxar do banco a coluna correspondete a do Grid

    No GridView2_RowCommand

     if (e.CommandName.Equals("editModalInferior"))
                {
                    LimparTextBoxInferior();
    
                    index = Convert.ToInt32(e.CommandArgument);
    
                    GridViewRow gvrow = GridView2.Rows[index];
                    lblIdInferior.Text = HttpUtility.HtmlDecode(gvrow.Cells[2].Text).ToString();   //Passa o valor para do Id para label Id             
                    txtInputCodigoFerramentaEditar.Value = HttpUtility.HtmlDecode(gvrow.Cells[3].Text);
                    txtInputDiametroMinEditar.Value = HttpUtility.HtmlDecode(gvrow.Cells[4].Text);
                    txtInputDiametroMaxEditar.Value = HttpUtility.HtmlDecode(gvrow.Cells[5].Text);
    
                    ObjFerramenta.Id = Convert.ToInt32(lblIdInferior.Text);
    
                    Ferramenta objClasses = objFerramentasDAO.cboCodigoFerramentaEditar(ObjFerramenta); 
    
    
                    cboFerramentaEditar.SelectedValue = objClasses.Ferramenta_str.ToString().Trim();
    
    
                    ErroFalseInferior();
    
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "LaunchServerSide", "$(function() { abrirJanelaModalEditarInferior(); });", true);
    
    
    
                }


            public Ferramenta cboCodigoFerramentaEditar(Ferramenta cadastro)
            {
    
    
    
                string query = "";
                string resp = "";
    
                try
                {
    
                   
    
                    query += " SELECT tb_ferramentas.ferramenta_str FROM tb_ferramentas INNER JOIN tb_conjuntoferramentas ON  tb_ferramentas.idferramenta_int = tb_conjuntoferramentas.idferramenta_int_fk WHERE idconjuntoferramentas_int = @ID ";
                    
    
    
    
    
    
    
                    //Abra a conexão                 
                    c.conectar();
    
    
                    MySqlCommand cd = new MySqlCommand();
                    cd.Connection = c.cn;
                    cd.CommandText = query;
    
                    cd.Parameters.AddWithValue("@ID", cadastro.Id);
    
                    MySqlDataReader rdr = cd.ExecuteReader();
    
                    while (rdr.Read())
                    {
    
                        //  ddlGender.SelectedValue = rdr["Gender"].ToString();
                        objFerramenta.Ferramenta_str = rdr["ferramenta_str"].ToString();
                    }
    
    
    
    
    
                }
                catch (Exception error)
                {
    
                    resp = "" + error;
                }
    
    
                finally
                {
                    if (c.cn.State == ConnectionState.Open)
                        c.desconectar();
                }
    
    
    
                return objFerramenta;
    
    
    
            }
    

    Aspx

       <asp:GridView ID="GridView2" runat="server" HorizontalAlign="Center"
                                      OnRowCommand="GridView2_RowCommand" AutoGenerateColumns="false" AllowPaging="true"
                                      DataKeyNames="idconjuntoferramentas_int" CssClass="table table-striped table-bordered table-hover table-condensed table-responsive"
                                      AllowSorting="True" OnPageIndexChanging="GridView2_PageIndexChanging" PagerSettings-Mode="NextPreviousFirstLast"
                                      PageSize="10" OnRowDataBound="GridView2_RowDataBound" OnSorting="GridView2_Sorting" UseAccessibleHeader="true">
    
                                      <Columns>
    
                                          <asp:ButtonField CommandName="editModalInferior" ControlStyle-CssClass="btn btn-info"  
                                              ButtonType="Button" Text="Editar" HeaderText="" HeaderStyle-HorizontalAlign="Center"
                                              HeaderStyle-VerticalAlign="Middle" ItemStyle-VerticalAlign="Middle" ItemStyle-HorizontalAlign="Center">
                                              <ControlStyle CssClass="btn btn-info col-sm-10 col-md-10 col-lg-10 btn-xs fonteDez"></ControlStyle>
                                              <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="col-sm-1 col-md-1 col-lg-1" />
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                          </asp:ButtonField>
    
                                         
    
                                          <asp:ButtonField CommandName="deleteModalInferior" ControlStyle-CssClass="btn btn-danger"
                                              ButtonType="Button" Text="Deletar" HeaderText="" HeaderStyle-HorizontalAlign="Center"
                                              HeaderStyle-VerticalAlign="Middle" ItemStyle-VerticalAlign="Middle" ItemStyle-HorizontalAlign="Center">
                                              <ControlStyle CssClass="btn btn-danger col-sm-10 col-md-10 col-lg-10 btn-xs fonteDez"></ControlStyle>
                                              <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="col-sm-1 col-md-1 col-lg-1" />
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                          </asp:ButtonField>
    
                                          <asp:BoundField DataField="idconjuntoferramentas_int" HeaderText="Id" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" SortExpression="idconjuntoferramentas_int">
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="col-sm-1 col-md-1 col-lg-1 fonteDez" />
                                          </asp:BoundField>
                                          <asp:BoundField DataField="codigoferramenta_str" HeaderText="Cód. Ferr." ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" SortExpression="codigoferramenta_str">
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="fonteDez" />
                                          </asp:BoundField>
                                          <asp:BoundField DataField="diametromin_dec" HeaderText="Diam. Mín." ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" SortExpression="diametromin_dec">
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="fonteDez" />
                                          </asp:BoundField>
    
                                          <asp:BoundField DataField="diametromax_dec" HeaderText="Diam. Máx." ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" SortExpression="diametromax_dec">
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="fonteDez" />
                                          </asp:BoundField>
    
    
    
                                           <asp:ButtonField CommandName="desenhoRecord" ControlStyle-CssClass="btn btn-default"
                                              ButtonType="Button" Text="D" HeaderText="Desenho" HeaderStyle-HorizontalAlign="Center"
                                              HeaderStyle-VerticalAlign="Middle" ItemStyle-VerticalAlign="Middle" ItemStyle-HorizontalAlign="Center">
                                              <ControlStyle CssClass="btn btn-default btn-xs fonteDez"></ControlStyle>
                                              <HeaderStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
                                          </asp:ButtonField>
    
    
    
                                          <asp:BoundField DataField="datacadastro_dt" HeaderText="Data Cadastro" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" DataFormatString="{0:d}" HeaderStyle-HorizontalAlign="Center" HeaderStyle-VerticalAlign="Middle" SortExpression="datacadastro_dt">
                                              <ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" CssClass="fonteDez" />
                                          </asp:BoundField>
    
    
    
                                      </Columns>
    
                                      <PagerSettings FirstPageImageUrl="~/img/Botoes/first.png" LastPageImageUrl="~/img/Botoes/last.png" Mode="NextPreviousFirstLast" NextPageImageUrl="~/img/Botoes/next.png" PreviousPageImageUrl="~/img/Botoes/previous.png" />
    
                                      <PagerStyle Font-Size="X-Small" Font-Strikeout="False" HorizontalAlign="Center" CssClass="espacoBotoes" VerticalAlign="Middle" />
    
                                  </asp:GridView>
    
    

    Esta dando o seguinte erro: 

    Mas quando debugo e também quando carrego ele no banco de dados, existe sim esse valor

                               
    segunda-feira, 10 de julho de 2017 19:39

Respostas

  • É o que eu suspeitava. Os valores da tua DDL são os ids das ferramentas, mas você está tentando atribuir o valor '2ª matriz' ao SelectedValue.

    cboFerramentaEditar.SelectedValue = objClasses.Ferramenta_str.ToString().Trim();

    Faça algo como:

    cboFerramentaEditar.SelectedValue = objClasses.FerramentaId;

    ATT


    quarta-feira, 12 de julho de 2017 22:11

Todas as Respostas

  • Aqui é o botão adicionar, ele carrega normalmente

    segunda-feira, 10 de julho de 2017 19:40
  • cboFerramentaEditar.SelectedValue = objClasses.Ferramenta_str.ToString().Trim();

    Pelo que pude perceber você está tentando selecionar '2ª matriz' para o valor (SelectedValue) da DDL, quando na verdade ele é apenas o texto de exibição (DisplayMember) do membro que você deseja selecionar.

    Se puder, poste o trecho de código onde você popula a DDL.

    ATT

    terça-feira, 11 de julho de 2017 17:32
  •  <div class="col-xs-10 col-sm-10 col-md-10 col-lg-10">
                                        <div class="form-group">
    
                                            <label for="text">*Ferramenta:</label>
                                            <asp:DropDownList ID="cboFerramenta" runat="server" CssClass="form-control text-center" DataSourceID="SqlDataSourceFerramenta" DataTextField="ferramenta_str" DataValueField="idferramenta_int">
                                            </asp:DropDownList>
                                            <asp:SqlDataSource runat="server" ID="SqlDataSourceFerramenta" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' ProviderName='<%$ ConnectionStrings:ConnectionString.ProviderName %>' SelectCommand="SELECT idferramenta_int, ferramenta_str FROM bancoferramenta.tb_ferramentas"></asp:SqlDataSource>
    
    
                                        </div>
                                    </div>

    quarta-feira, 12 de julho de 2017 16:21
  • É o que eu suspeitava. Os valores da tua DDL são os ids das ferramentas, mas você está tentando atribuir o valor '2ª matriz' ao SelectedValue.

    cboFerramentaEditar.SelectedValue = objClasses.Ferramenta_str.ToString().Trim();

    Faça algo como:

    cboFerramentaEditar.SelectedValue = objClasses.FerramentaId;

    ATT


    quarta-feira, 12 de julho de 2017 22:11
  • Bom dia,

    Por falta de retorno, essa thread está sendo encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,


    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 17 de julho de 2017 13:03
    Moderador
  • É o que eu suspeitava. Os valores da tua DDL são os ids das ferramentas, mas você está tentando atribuir o valor '2ª matriz' ao SelectedValue.

    cboFerramentaEditar.SelectedValue = objClasses.Ferramenta_str.ToString().Trim();

    Faça algo como:

    cboFerramentaEditar.SelectedValue = objClasses.FerramentaId;

    ATT


    Isso mesmo amigo. Fiquei sem internet por um tempo, por isso não respondi.

    Muito obrigado adpeiter

    quarta-feira, 2 de agosto de 2017 18:28