用GridView自带删除修改功能删除修改数据库怎么做,后台代码怎么写?
3个回答
展开全部
--前台页面:
--解释:
--DataKeyNames:字段名,一般绑定为 ID,用于后台获取ID
--OnRowCommand:GridView 定义行事件
--OnRowEditing:GridView 编辑事件
--OnRowUpdating:GridView 更新事件
--OnRowCancelingEdit:GridView 取消事件
<asp:GridView ID="gvException" runat="server" CssClass="DataGrid_Container" AutoGenerateColumns="False" DataKeyNames="id,ExceptionNumber" OnRowCommand="gvException_RowCommand" OnRowEditing="gvException_RowEditing" OnRowUpdating="gvException_RowUpdating"
OnRowCancelingEdit="gvException_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="number" HeaderText="号码" SortExpression="ExceptionNumber" />
<asp:CommandField HeaderText="修改" ItemStyle-Width="80" EditText="修改" ShowEditButton="True">
<ItemStyle Width="80px"></ItemStyle>
</asp:CommandField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
删除</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbDelete" runat="server" ForeColor="Green" Text="删除" CommandName="DelNums"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" OnClientClick="return confirm('确认要删除此行信息吗?')" />
</ItemTemplate>
<ItemStyle Width="80px"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>
--后台代码:
#region 删除操作
/// <summary>
/// 行事件
/// </summary>
protected void gvException_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "delnums") //执行当前点击删除事件
{
//当前点击删除行的行号
int row = Convert.ToInt32(e.CommandArgument.ToString());
//获取id
int id= gvException.DataKeys[row]["id"].ToString();
//执行SQL删除方法
if (执行失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('删除失败!');</script>", false);
return;//退出方法
}
else//执行成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('删除成功!');</script>", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
}
#endregion 删除操作
#region 编辑操作
/// <summary>
/// 编辑
/// </summary>
protected void gvException_RowEditing(object sender, GridViewEditEventArgs e)
{
//创建一个编辑控件
gvException.EditIndex = e.NewEditIndex;
//gvExceptionBind();//重新绑定数据
}
/// <summary>
/// 更新按钮事件
/// </summary>
protected void gvException_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//获得 ID
int id = Convert.ToInt32(gvException.DataKeys[e.RowIndex]["id"].ToString());
//执行更新方法
if (更新失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('更新失败!');</script>", false);
return;//退出方法
}
else//更新成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('更新成功!');</script>", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
/// <summary>
/// 取消事件
/// </summary>
protected void gvException_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//撤销编辑控件:为-1 是微软规定的
gvException.EditIndex = -1;
//gvExceptionBind();//重新绑定数据
}
#endregion
代码很多、希望你能看的懂,祝你好运^^
--解释:
--DataKeyNames:字段名,一般绑定为 ID,用于后台获取ID
--OnRowCommand:GridView 定义行事件
--OnRowEditing:GridView 编辑事件
--OnRowUpdating:GridView 更新事件
--OnRowCancelingEdit:GridView 取消事件
<asp:GridView ID="gvException" runat="server" CssClass="DataGrid_Container" AutoGenerateColumns="False" DataKeyNames="id,ExceptionNumber" OnRowCommand="gvException_RowCommand" OnRowEditing="gvException_RowEditing" OnRowUpdating="gvException_RowUpdating"
OnRowCancelingEdit="gvException_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="number" HeaderText="号码" SortExpression="ExceptionNumber" />
<asp:CommandField HeaderText="修改" ItemStyle-Width="80" EditText="修改" ShowEditButton="True">
<ItemStyle Width="80px"></ItemStyle>
</asp:CommandField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
删除</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="lbDelete" runat="server" ForeColor="Green" Text="删除" CommandName="DelNums"
CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" OnClientClick="return confirm('确认要删除此行信息吗?')" />
</ItemTemplate>
<ItemStyle Width="80px"></ItemStyle>
</asp:TemplateField>
</Columns>
</asp:GridView>
--后台代码:
#region 删除操作
/// <summary>
/// 行事件
/// </summary>
protected void gvException_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName.ToLower() == "delnums") //执行当前点击删除事件
{
//当前点击删除行的行号
int row = Convert.ToInt32(e.CommandArgument.ToString());
//获取id
int id= gvException.DataKeys[row]["id"].ToString();
//执行SQL删除方法
if (执行失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('删除失败!');</script>", false);
return;//退出方法
}
else//执行成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('删除成功!');</script>", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
}
#endregion 删除操作
#region 编辑操作
/// <summary>
/// 编辑
/// </summary>
protected void gvException_RowEditing(object sender, GridViewEditEventArgs e)
{
//创建一个编辑控件
gvException.EditIndex = e.NewEditIndex;
//gvExceptionBind();//重新绑定数据
}
/// <summary>
/// 更新按钮事件
/// </summary>
protected void gvException_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//获得 ID
int id = Convert.ToInt32(gvException.DataKeys[e.RowIndex]["id"].ToString());
//执行更新方法
if (更新失败)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('更新失败!');</script>", false);
return;//退出方法
}
else//更新成功
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "str", "<script>javascript:alert('更新成功!');</script>", false);
//成功重新绑定数据
//gvExceptionBind();
}
}
/// <summary>
/// 取消事件
/// </summary>
protected void gvException_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
//撤销编辑控件:为-1 是微软规定的
gvException.EditIndex = -1;
//gvExceptionBind();//重新绑定数据
}
#endregion
代码很多、希望你能看的懂,祝你好运^^
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询