Fórum Delete no GridView #23154
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)