溫馨提示×

gridview行編輯功能的實現(xiàn)

小樊
103
2024-06-30 01:24:46
欄目: 編程語言

要實現(xiàn)GridView行編輯功能,可以按照以下步驟進行:

  1. 在GridView中添加一個編輯按鈕列,用戶點擊編輯按鈕時觸發(fā)編輯行的事件。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" />
        <asp:BoundField DataField="Name" HeaderText="Name" />
        <asp:ButtonField ButtonType="Link" Text="Edit" CommandName="Edit" />
    </Columns>
</asp:GridView>
  1. 在GridView的RowEditing事件中處理編輯行的邏輯,將當(dāng)前行的數(shù)據(jù)顯示在編輯控件中。
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
    BindGridView();
}
  1. 提供保存和取消編輯的功能,在GridView中添加保存和取消按鈕列,并在對應(yīng)事件中處理保存和取消編輯的邏輯。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
    <Columns>
        <asp:BoundField DataField="ID" HeaderText="ID" ReadOnly="True" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Label ID="lblName" runat="server" Text='<%# Bind("Name") %>' Visible='<%# Eval("ID").ToString() != editID %>'></asp:Label>
                <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>' Visible='<%# Eval("ID").ToString() == editID %>'></asp:TextBox>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:ButtonField ButtonType="Link" Text="Edit" CommandName="Edit" />
        <asp:ButtonField ButtonType="Link" Text="Update" CommandName="Update" />
        <asp:ButtonField ButtonType="Link" Text="Cancel" CommandName="Cancel" />
    </Columns>
</asp:GridView>
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    //獲取編輯行的數(shù)據(jù),并更新到數(shù)據(jù)庫中
    GridView1.EditIndex = -1;
    BindGridView();
}

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    GridView1.EditIndex = -1;
    BindGridView();
}
  1. 添加BindGridView方法,用于綁定GridView的數(shù)據(jù)源。
private void BindGridView()
{
    GridView1.DataSource = //獲取數(shù)據(jù)源
    GridView1.DataBind();
}

通過以上步驟,就可以實現(xiàn)GridView行編輯功能。用戶點擊編輯按鈕時,當(dāng)前行的數(shù)據(jù)會顯示在編輯控件中,用戶可以修改數(shù)據(jù)并保存或取消編輯操作。

0