如何使用GridView AutoGenerateDelete按钮

时间:2014-05-28 07:42:41

标签: c# asp.net gridview

我正在使用Visual Studio 2010使用c#开发asp.net应用程序。我通过以下

创建了一个GridView表
 <asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" 
                EnableViewState="False" OnRowDeleting="DeleteRowButton_Click">
        </asp:GridView>

但我不知道如何在我的c#代码中使用自动生成的删除按钮。

我在线搜索,他们总是提供我的代码

protected void DeleteRowButton_Click(Object sender, GridViewDeleteEventArgs e)
{

    var PN = GridView1.DataKeys[e.RowIndex].Values["Part_Number"];
    string PN = pn.ToString;
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["XMLConnectionString"].ConnectionString);
    // Create the command object
    con.Open();
    string str = "DELETE * FROM XML WHERE ([Part_Numbber] = " + PN + ")";
    SqlCommand cmd = new SqlCommand(str, con);
    cmd.ExecuteNonQuery();
    Button1_Click(sender, e);
    con.Close();
}

非常感谢你能告诉我怎么做

1 个答案:

答案 0 :(得分:1)

对于删除您的任何记录,应该有任何唯一或主键。如果要使用字段“Part_Numbber”删除记录,则此字段数据类型应为数据库表中的int或bigint。然后现在将以下代码添加到删除。

protected void DeleteRowButton_Click(Object sender, GridViewDeleteEventArgs e)
{
    int Part_Numbber= Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value);       
    SqlCommand cmd = new SqlCommand("DELETE FROM XML WHERE Part_Numbber=" + Part_Numbber+ "", con);
    con.Open();
    int temp = cmd.ExecuteNonQuery();
    if (temp == 1)
    {
        lblMessage.Text = "Record deleted successfully";
    }
    con.Close();
    FillGrid();
}

这对您有何帮助。