簡體   English   中英

更新gridview asp.net中的復選框更改數據庫c#

[英]update database on checkbox change in gridview asp.net c#

我在GridView單元格中有一個CheckBox。 我想在CheckBox更新時更新數據庫,就像我取消選中它時,表中的'Status'列更新為false,反之亦然。

你的問題非常不完整。 但是我會嘗試一下,也許它無論如何都很有幫助。

假設您希望在Checked狀態更改后立即更新(用戶單擊CheckBox ),則必須先設置AutoPostBack="true"

然后你可以處理CheckBox.CheckedChanged事件:

protected void Check_Clicked(Object sender, EventArgs e)
{
    // get the checkbox reference
    CheckBox chk = (CheckBox)sender;
    // get the GridViewRow reference
    GridViewRow row = (GridViewRow) chk.NamingContainer;
    // assuming the primary key value is stored in a hiddenfield with ID="HiddenID"
    HiddenField hiddenID = (HiddenField) row.FindControl("HiddenID");

    string sql = "UPDATE dbo.Table SET Status=@Status WHERE idColumn=@ID";
    using (var con = new SqlConnection(connectionString))
    using (var updateCommand = new SqlCommand(sql, con))
    {
        updateCommand.Parameters.AddWithValue("@ID", int.Parse(hiddenID.Value));
        // assuming the type of the column is bit(boolean)
        updateCommand.Parameters.AddWithValue("@Status", chk.Checked);
        con.Open();
        int updated = updateCommand.ExecuteNonQuery();
    }
}

網格源

<asp:TemplateField HeaderText="View">
<ItemTemplate>
<asp:CheckBox ID="chkview" runat="server" AutoPostBack="true" OnCheckedChanged="chkview_CheckedChanged" />
</ItemTemplate>
</asp:TemplateField>

C#代碼

protected void chkview_CheckedChanged(object sender, EventArgs e)
{
     // code here.
}

暫無
暫無

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

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