Delete no GridView
23/11/2007
0
Fala Aê galera.... estou com um problema simples, mas que já me tomou a tarde toda....
seguinte... populei um gridview com ObjectDataSource... e adicionei no gridview o ´enabele deleting´.....
na hora que eu clico no ´Deletar´ dentro do meu grid ele até chama a o methodo... ´ExcluiGrupo(string _idGrupo)´ porém o parâmnetro ´idGrupo´ sempre está null, e ele deveria ter o conteudo da celula[0] na linha que foi clicada... (id do grupo).
segue o ´html´ do grid e a assinatura do metodo que exclui..
desde já velew pela força.
bom fim de semana...
[/code]
seguinte... populei um gridview com ObjectDataSource... e adicionei no gridview o ´enabele deleting´.....
na hora que eu clico no ´Deletar´ dentro do meu grid ele até chama a o methodo... ´ExcluiGrupo(string _idGrupo)´ porém o parâmnetro ´idGrupo´ sempre está null, e ele deveria ter o conteudo da celula[0] na linha que foi clicada... (id do grupo).
segue o ´html´ do grid e a assinatura do metodo que exclui..
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="objSelect"> <Columns> <asp:BoundField DataField="gsIdGrupo" HeaderText="gsIdGrupo" SortExpression="gsIdGrupo" /> <asp:BoundField DataField="gsGrupo" HeaderText="gsGrupo" SortExpression="gsGrupo" /> <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> </Columns> </asp:GridView> <asp:ObjectDataSource ID="objSelect" runat="server" DeleteMethod="ExcluiGrupo" InsertMethod="CadastraGrupo" SelectMethod="ListaGrupo" TypeName="CORE.BLL.Grupo" UpdateMethod="AtualizaGrupo"> <DeleteParameters> <asp:Parameter Name="_idGrupo" Type="String" /> </DeleteParameters> <UpdateParameters> <asp:Parameter Name="_idGrupo" Type="String" /> </UpdateParameters> <InsertParameters> <asp:Parameter Name="_nomeGrupo" Type="String" /> <asp:Parameter Name="_permissoes" Type="String" /> </InsertParameters> </asp:ObjectDataSource>
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjec MethodType.Delete, true)] public static bool ExcluiGrupo(string _idGrupo) { return true; }
desde já velew pela força.
bom fim de semana...
[/code]
Thiagos25
Curtir tópico
+ 0
Responder
Posts
23/11/2007
Rafdragon
thiagos25,
Eu sei fazer isso de uma outra forma.
Segue abaixo uma outra forma de excluir 1 registro de um GridView:
ASP . NET:
Em C#:
Espero ter ajudado...
:D
Eu sei fazer isso de uma outra forma.
Segue abaixo uma outra forma de excluir 1 registro de um GridView:
ASP . NET:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CssClass="Grid1" OnRowCommand="GridView1ItemCommand" OnRowCreated="GridView1_RowCreated"> <HeaderStyle CssClass="GridHeader"/> <RowStyle CssClass="GridItem"/> <AlternatingRowStyle CssClass="GridAltItem"/> <Columns> <asp:BoundField DataField="gsIdGrupo" HeaderText="IdGrupo" SortExpression="gsIdGrupo" /> <asp:BoundField DataField="gsGrupo" HeaderText="gsGrupo" SortExpression="fgsGrupo" /> <asp:buttonfield buttontype="Image" ImageUrl="..\Images\Editar.bmp" commandname="Editar" text="Editar" HeaderText="Editar" /> <asp:buttonfield buttontype="Image" ImageUrl="..\Images\Excluir.bmp" commandname="Excluir" text="Excluir" HeaderText="Excluir" /> </Columns> </asp:GridView>
Em C#:
protected void GridView1_RowCreated(Object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { ImageButton BtnEdit = (ImageButton)e.Row.Cells[2].Controls[0]; BtnEdit.CommandArgument = e.Row.RowIndex.ToString(); ImageButton BtnExcluir = (ImageButton)e.Row.Cells[3].Controls[0]; BtnExcluir.CommandArgument = e.Row.RowIndex.ToString(); } } protected void CarregaGridView1() { DataSet dsGrid = new DataSet("dsGrid"); GridView1.DataSource = GetDatadsGrid(dsGrid); //Essa função eu criei para carregar o GridView. GridView1.DataBind(); } protected void GridView1ItemCommand(object source, GridViewCommandEventArgs e) { string command = e.CommandName; switch (command) { case "Excluir": int index = Convert.ToInt32(e.CommandArgument); GridViewRow row = GridView1.Rows[index]; ListItem item = new ListItem(); item.Text = Server.HtmlDecode(row.Cells[0].Text.ToString()); DeleteRegistro(item.Text.ToString()); break; case "Editar": int index2 = Convert.ToInt32(e.CommandArgument); GridViewRow rowEdit = GridView1.Rows[index2]; ListItem item0 = new ListItem(); item0.Text = Server.HtmlDecode(rowEdit.Cells[0].Text.ToString()); ListItem item1 = new ListItem(); item1.Text = Server.HtmlDecode(rowEdit.Cells[1].Text.ToString()); EditarRegistro(item0.Text.ToString(), item1.Text.ToString()); break; default: break; } } private void DeleteRegistro(string Id) { string Msg; DeleteGrupo(Id);//Essa função deleta um registro pelo Id CarregaGridView1(); }
Espero ter ajudado...
:D
Responder
Clique aqui para fazer login e interagir na Comunidade :)