none
editar e excluir dados selecionados no datagrid através de um button RRS feed

  • Pergunta

  • Olá, 

    Então, eu queria editar os dados do meu datagrid selecionando a linha e usar um button, fora do grid, redirecionando para o webform que eu iria editar os dados. 

    E também excluir os dados da mesma forma, mas subindo uma mensagem se você realmente quer excluir os dados, e se houver algum dado ligado pela chave estrangeira subir uma mensagem que não é possível fazer a exclusão do cliente.

    Estou usando Asp.Net com C#.

    mas informações é só pedir.

    Obrigado desde já.

    segunda-feira, 27 de agosto de 2012 12:01

Respostas

  • Tucão eu tenho um exemplo bem parecido:

    Preencho um gridView com uma List<Usuario>

      <asp:GridView ID="grvUsuario" runat="server" DataKeyNames="User" AutoGenerateColumns="False"
                            CssClass="tblContent" GridLines="None" OnRowDataBound="grvUsuario_RowDataBound">
                            <AlternatingRowStyle CssClass="rowAlt" />
                            <Columns>
                                <asp:TemplateField HeaderText="Ativo">
                                    <ItemTemplate>
                                        <asp:Image ID="imgUsarioStatus" runat="server" />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Name" HeaderText="Nome Completo" />
                                <asp:BoundField DataField="Login" HeaderText="Login" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:Label ID="lblProfile" runat="server"></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Email" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:Label ID="lblLastUpdate" runat="server"></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <%--<asp:BoundField DataField="DtLastUpdate" DataFormatString="{0: dd/MM/yyyy}" />--%>
                                <asp:BoundField DataField="User" Visible="false" />
                            </Columns>
                            <HeaderStyle CssClass="tblHeader" />
                        </asp:GridView>

    Presta atenção nessa propriedade: DataKeyNames="User" (Na verdade é o Id do usuário), é através dela que eu recupero o usuário.

    Para editar os dados ficou desta forma:

    Usando Jquery eu pego a linha da GridView que foi selecionado e guardo em um Hidden, e quando clico no botão para modificar eu recupero qual linha que foi selecionado e através disso eu recupero o Id do Usuário, e logo em seguida eu redireciono para edição.

     protected void btnModificar_Click(object sender, EventArgs e)  

          {        

        //Recupera a linha selecionada.       

         int row = Convert.ToInt16(hdnIndex.Value);    

          var teste = grvUsuario.Rows[0].Cells[0].Text;      

        if (row < 0)        

        {            

        string script = Classes.JavaScript.alertNotificacao(Strings.SelecioneUmRegistro);    

        ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), script, true);   

        return; 

        }        

        //Recupera o id do usuário selecionado.  

       string idUsuario = grvUsuario.DataKeys[row]["User"].ToString();   

      //Redireciona para a tela de edição.   

      Response.RedirectToRoutePermanent("EditarUsuario", new { idUsuario = idUsuario });                   }




    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS


    segunda-feira, 27 de agosto de 2012 13:03
  • Tucão eu disponibilizei um exemplo neste link, desculpe mas eu não me preocupei muito com o visual, mas sim com a funcionalidade.

    Boa sorte

    https://skydrive.live.com/redir.aspx?cid=dfff11068f1d6999&page=self&resid=DFFF11068F1D6999%21160&parid=DFFF11068F1D6999%21131&authkey=%21&Bpub=SDX.SkyDrive&Bsrc=Share

    Nome do arquivo: ExemploGrid


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS


    segunda-feira, 27 de agosto de 2012 14:01

Todas as Respostas

  • Tucão eu tenho um exemplo bem parecido:

    Preencho um gridView com uma List<Usuario>

      <asp:GridView ID="grvUsuario" runat="server" DataKeyNames="User" AutoGenerateColumns="False"
                            CssClass="tblContent" GridLines="None" OnRowDataBound="grvUsuario_RowDataBound">
                            <AlternatingRowStyle CssClass="rowAlt" />
                            <Columns>
                                <asp:TemplateField HeaderText="Ativo">
                                    <ItemTemplate>
                                        <asp:Image ID="imgUsarioStatus" runat="server" />
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Name" HeaderText="Nome Completo" />
                                <asp:BoundField DataField="Login" HeaderText="Login" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:Label ID="lblProfile" runat="server"></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:BoundField DataField="Email" />
                                <asp:TemplateField>
                                    <ItemTemplate>
                                        <asp:Label ID="lblLastUpdate" runat="server"></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <%--<asp:BoundField DataField="DtLastUpdate" DataFormatString="{0: dd/MM/yyyy}" />--%>
                                <asp:BoundField DataField="User" Visible="false" />
                            </Columns>
                            <HeaderStyle CssClass="tblHeader" />
                        </asp:GridView>

    Presta atenção nessa propriedade: DataKeyNames="User" (Na verdade é o Id do usuário), é através dela que eu recupero o usuário.

    Para editar os dados ficou desta forma:

    Usando Jquery eu pego a linha da GridView que foi selecionado e guardo em um Hidden, e quando clico no botão para modificar eu recupero qual linha que foi selecionado e através disso eu recupero o Id do Usuário, e logo em seguida eu redireciono para edição.

     protected void btnModificar_Click(object sender, EventArgs e)  

          {        

        //Recupera a linha selecionada.       

         int row = Convert.ToInt16(hdnIndex.Value);    

          var teste = grvUsuario.Rows[0].Cells[0].Text;      

        if (row < 0)        

        {            

        string script = Classes.JavaScript.alertNotificacao(Strings.SelecioneUmRegistro);    

        ScriptManager.RegisterStartupScript(this, GetType(), Guid.NewGuid().ToString(), script, true);   

        return; 

        }        

        //Recupera o id do usuário selecionado.  

       string idUsuario = grvUsuario.DataKeys[row]["User"].ToString();   

      //Redireciona para a tela de edição.   

      Response.RedirectToRoutePermanent("EditarUsuario", new { idUsuario = idUsuario });                   }




    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS


    segunda-feira, 27 de agosto de 2012 13:03
  • Tucão eu disponibilizei um exemplo neste link, desculpe mas eu não me preocupei muito com o visual, mas sim com a funcionalidade.

    Boa sorte

    https://skydrive.live.com/redir.aspx?cid=dfff11068f1d6999&page=self&resid=DFFF11068F1D6999%21160&parid=DFFF11068F1D6999%21131&authkey=%21&Bpub=SDX.SkyDrive&Bsrc=Share

    Nome do arquivo: ExemploGrid


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS


    segunda-feira, 27 de agosto de 2012 14:01
  • Olá Janderson,

    eu vou dar uma olhada sim, e qualquer dúvida postarei aqui. 

    Obrigado. 

    segunda-feira, 27 de agosto de 2012 15:08