none
Acessar no Page Load uma DropDownlist que no Item template de uma GridView. RRS feed

  • Pergunta

  • Olá pessoal tdo bem?

    Estou com o seguinte problema.
    Tenho uma gridView que possui um item template que tem uma dropdownlist nela.
    Nesta grid trago as informações de usuario, nome, id, email e perfil.
    Na dropdownlist quero deixar carregado o perfil de cada usuario assim q fizer o load da página, com a possibilidade de alterar esse registro.

    Tem algum comando do C# q consigo acessar esse componente?

    Qualquer ajuda agradeço!

    Abraços
    sábado, 28 de novembro de 2009 23:53

Respostas

  • Na TAG do dropdown, utilize a propriedade onLoad. Assim, sempre que o drop for carregado, ele dispara o método que estiver no onLoad.
    domingo, 29 de novembro de 2009 06:54
  • Bom, pelo que entendi, vc quer carregar uma lista de usuario dentro do Drop, que esta dentro de Grid ?

    HTML
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" onrowdatabound="GridView1_RowDataBound">
                <Columns>
                    <asp:BoundField HeaderText="Campo 1" />
                    <asp:TemplateField HeaderText="DDL">
                        <ItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server">
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
              
    </asp:GridView>

    FONTE
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {

                DropDownList ddl = e.Row.Cells[1].Controls[0] as DropDownList;
                ddl.DataSource = "cosulta";
                ddl.DataBind();
               
            }


    Leandro, o codigo do Guilherme tambem funciona, postei esse pois pelo que entendi você não sabia como pegar o valor do DropDown,

    Assim caso você precise usar o valor selecionado você pode usar a mesma referencia para localiza-lo.

    Prestw atencao nessa linha "e.Row.Cells[1].Controls[0] as DropDownList;" verifica se o index do CELLS será o mesmo para voce, senao vai dar erro.

    Dimie Lannes -----------------------------------------
    Colabore, se o tópico foi útil, informe.!
    segunda-feira, 30 de novembro de 2009 19:01
  • Fale,

    segue um exemplo:

                foreach (GridViewRow rows in Nome_gridView.Rows)
                {
        CheckBox chkSelect = (CheckBox)rows.FindControl("chkSelect");
                    Label lblNome = (Label)rows.FindControl("lblNome");
       }

    Abraço!
    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    segunda-feira, 30 de novembro de 2009 19:06

Todas as Respostas

  • Na TAG do dropdown, utilize a propriedade onLoad. Assim, sempre que o drop for carregado, ele dispara o método que estiver no onLoad.
    domingo, 29 de novembro de 2009 06:54
  • Bom, pelo que entendi, vc quer carregar uma lista de usuario dentro do Drop, que esta dentro de Grid ?

    HTML
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" onrowdatabound="GridView1_RowDataBound">
                <Columns>
                    <asp:BoundField HeaderText="Campo 1" />
                    <asp:TemplateField HeaderText="DDL">
                        <ItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server">
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
              
    </asp:GridView>

    FONTE
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {

                DropDownList ddl = e.Row.Cells[1].Controls[0] as DropDownList;
                ddl.DataSource = "cosulta";
                ddl.DataBind();
               
            }


    Leandro, o codigo do Guilherme tambem funciona, postei esse pois pelo que entendi você não sabia como pegar o valor do DropDown,

    Assim caso você precise usar o valor selecionado você pode usar a mesma referencia para localiza-lo.

    Prestw atencao nessa linha "e.Row.Cells[1].Controls[0] as DropDownList;" verifica se o index do CELLS será o mesmo para voce, senao vai dar erro.

    Dimie Lannes -----------------------------------------
    Colabore, se o tópico foi útil, informe.!
    segunda-feira, 30 de novembro de 2009 19:01
  • Fale,

    segue um exemplo:

                foreach (GridViewRow rows in Nome_gridView.Rows)
                {
        CheckBox chkSelect = (CheckBox)rows.FindControl("chkSelect");
                    Label lblNome = (Label)rows.FindControl("lblNome");
       }

    Abraço!
    Se a resposta solucionar sua dúvida, favor - Votar como Útil Abraço!
    segunda-feira, 30 de novembro de 2009 19:06