Usuário com melhor resposta
editar e excluir dados selecionados no datagrid através de um button

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á.
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
- Editado Janderson Candido de Mattos segunda-feira, 27 de agosto de 2012 13:05
- Marcado como Resposta Harley Araujo quarta-feira, 29 de agosto de 2012 20:39
-
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
- Editado Janderson Candido de Mattos segunda-feira, 27 de agosto de 2012 14:01
- Marcado como Resposta Harley Araujo quarta-feira, 29 de agosto de 2012 20:39
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
- Editado Janderson Candido de Mattos segunda-feira, 27 de agosto de 2012 13:05
- Marcado como Resposta Harley Araujo quarta-feira, 29 de agosto de 2012 20:39
-
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
- Editado Janderson Candido de Mattos segunda-feira, 27 de agosto de 2012 14:01
- Marcado como Resposta Harley Araujo quarta-feira, 29 de agosto de 2012 20:39
-