DaniloTec 0 Denunciar post Postado Junho 30, 2009 Boa tarde gente. Estou montando um grid com os botões (alterar, excluir e cancelar), até aí tranquilo. Ao clicar em alterar, a linha do grid se transforma em campos editáveis e até tmb tudo bem. Pesquisei vários sites e consegui colocar um dropdownlist em uma das colunas, mas isso foi feito em modo Wizart, ou seja, ele coloca os códigos dentro da página aspx. Gostaria de saber se é possível fazer isso via código? Não só o dropdown mas tmb outros elementos como checkbox, por exemplo. Eu tentei criar um controle dentro do evento RowEditing e adiciona-lo na celula correta, mas não deu cero. Vlw! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Junho 30, 2009 Possível acredito que seja, mas não lembro de encontrar nada do tipo na net. Você já conseguiu encontrar a linha e a célula que deseja adicionar o item? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
DaniloTec 0 Denunciar post Postado Julho 1, 2009 Encontrei sim, mas quando entra em modo de exibição o elemento não aparece. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Julho 1, 2009 Ja começou algo para adicionar o controle na célula? Poste aqui fica mais fácil para começarmos a discutir. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
DaniloTec 0 Denunciar post Postado Julho 2, 2009 Sim, com comecei e fiz um monte de coisa que ainda não deu certo. :P Fiz o seguinte teste no método RowEditing: protected void gvPergunta_RowEditing(object sender, GridViewEditEventArgs e) { gvPergunta.EditIndex = e.NewEditIndex; DropDownList ddl = new DropDownList(); ddl.ID = "ddl"; ddl.Items.Add("Teste"); gvPergunta.Rows[e.NewEditIndex].Cells[5].Controls.Add(ddl); BindData(); }Não dá erro, mas tmb nada acontece.Este mesmo controle funciona quando colocado no método RowDataBound. Abrazz!!! Compartilhar este post Link para o post Compartilhar em outros sites
DaniloTec 0 Denunciar post Postado Julho 2, 2009 Descobri. É necessário fazer 2 coisas: 1 - Colocar o método BindData() antes da adição do controle; protected void gvPergunta_RowEditing(object sender, GridViewEditEventArgs e) { gvPergunta.EditIndex = e.NewEditIndex; BindData(); DropDownList ddl = new DropDownList(); ddl.ID = "ddl"; ddl.Items.Add("Teste"); gvPergunta.Rows[e.NewEditIndex].Cells[5].Controls.Add(ddl); } 2 - Em "Editing Coluns" do grid, transforme o campo BoundField em um Template Field "Convert this field into a TemplateField". Depois exclua o textbox que ele coloca como padão. Fiz isso e funcionou. Vlw gente!!! Compartilhar este post Link para o post Compartilhar em outros sites