簡體   English   中英

C#識別gridview中的行以便刪除

[英]C# Identifying the Row in a gridview inorder to Delete

我正在處理一個項目,我將在其中顯示、插入、刪除訪問數據庫中的數據。 我制作了將顯示數據庫中特定表格的按鈕。 然后我做了一個 asp 列來顯示每行旁邊的刪除按鈕。 我想弄清楚的問題是:我怎樣才能擁有它,以便在單擊刪除按鈕時識別特定行,然后我可以刪除它? 歡迎任何提示或提示。 謝謝。

<body>
 <h1 class="center" style="text-align: center" >Display, Delete, and Add</h1>
<h3 id="Title1"></h3>
<style>
.center{
    margin: 0 auto;
}

</style>

<form id="form1"  runat="server">
    <asp:GridView ID="GridView1" class="center" runat="server" Width="300px" >
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:Button ID="btn1" Text="Delete" runat="server" OnClick="btn1_Click"/>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    <p>
        &nbsp;</p>
    <p >
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="Courses"  />
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Student Information" />
        <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="Students" />
    </p>
    <p>
        &nbsp;</p>
    <p>
        &nbsp;</p>
    <p>
        &nbsp;</p>
</form>

public partial class _Default : System.Web.UI.Page
{
    OleDbConnection con = new OleDbConnection  (@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\achowdhary\Documents\Database1.accdb");
protected void Page_Load(object sender, EventArgs e)
{

}


protected void Button1_Click1(object sender, EventArgs e)
{


    OleDbDataAdapter ada = new OleDbDataAdapter(" SELECT * FROM COURSES", con);
    DataSet set = new DataSet();
    ada.Fill(set, "COURSES");

    DataTable tab = new DataTable();
    tab = set.Tables["COURSES"];

    GridView1.DataSource = tab;
    GridView1.DataBind();



}

protected void Button2_Click(object sender, EventArgs e)
{
    OleDbDataAdapter ada = new OleDbDataAdapter(" SELECT * FROM STUDENT_INFO", con);
    DataSet set = new DataSet();
    ada.Fill(set, "STUDENT_INFO");

    DataTable tab = new DataTable();
    tab = set.Tables["STUDENT_INFO"];

    GridView1.DataSource = tab;
    GridView1.DataBind();
}

protected void Button3_Click(object sender, EventArgs e)
{
    OleDbDataAdapter ada = new OleDbDataAdapter(" SELECT * FROM STUDENTS", con);
    DataSet set = new DataSet();
    ada.Fill(set, "STUDENTS");

    DataTable tab = new DataTable();
    tab = set.Tables["STUDENTS"];

    GridView1.DataSource = tab;
    GridView1.DataBind();
}

protected void btn1_Click(object sender, EventArgs e)
{
    //ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + "hello" + "');", true);

}

}

許多可能性,我更喜歡的是,將按鈕中的 commandArgument 與您的標識符綁定,並在回發時恢復此值

    protected void btn1_Click(object sender, EventArgs e)
    {
        var identifier = ((Button)sender).CommandArgument;
    }

html

 <ItemTemplate>
     <asp:Button ID="btn1" Text="Delete" runat="server" OnClick="btn1_Click" CommandArgument='<%# Eval("PropertyName") %>'/>
 </ItemTemplate>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM