问题描述:
GridView绑定一个SqlDataSource,SqlDataSource的特殊点在于:SelectCommand和DeleteCommand都是自定义的存储过程,并且都有参数.
SelectCommand语句的执行没有问题,GridView中能正常显示数据,在单击GridView的删除按钮时需要截住GridView的GridView_RowDeleting,在此处理一下key和Value,以让其适应SQLDataSource的Delete命令(也就是适应我自定义的删除存储过程需要的参数),然后继续进行删除操作.谁能告诉我如何处理GridView_RowDeleting中这些key和Value以让其适应SQLDataSource的Delete命令?备注:要实现这种操作,其实也可以拦截SQLDataSource的RowDeleting,但是在这个事件种很难获取某些输入值,所以我想在GridView_RowDeleting种解决问题.
GridView绑定一个SqlDataSource,SqlDataSource的特殊点在于:SelectCommand和DeleteCommand都是自定义的存储过程,并且都有参数.
SelectCommand语句的执行没有问题,GridView中能正常显示数据,在单击GridView的删除按钮时需要截住GridView的GridView_RowDeleting,在此处理一下key和Value,以让其适应SQLDataSource的Delete命令(也就是适应我自定义的删除存储过程需要的参数),然后继续进行删除操作.谁能告诉我如何处理GridView_RowDeleting中这些key和Value以让其适应SQLDataSource的Delete命令?备注:要实现这种操作,其实也可以拦截SQLDataSource的RowDeleting,但是在这个事件种很难获取某些输入值,所以我想在GridView_RowDeleting种解决问题.
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Delete")
005的blog
ref:http://www.cnblogs.com/eddie005/archive/2006/08/28/488507.html
OnSorting="GridView1_Sorting" AutoGenerateColumns="False" AllowPaging="True" AllowSorting="True"
Width="100%" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting"
DataKeyNames="公告编号,公告名称">
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:ImageButton ID="delete" runat="server" CommandName="delete" OnClientClick="return confirm('确认要删除吗?');" ImageAlign="Middle" ImageUrl="\OA\Images\delete.gif"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
____________protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string 公告编号 = GridView1.DataKeys[e.RowIndex].Values[0].ToString();
SqlDataReader r;
SQLHelper sqlHelp = new SQLHelper();
string SqlStr = "delete from Announce where 公告编号=" + 公告编号;
sqlHelp.ExecSQL(SqlStr);
GridView1.EditIndex = -1;
BindGrid();
}