C# DataGridView复选框更新
我有一个包含位列的SQL数据库,每当单击复选框时,我都想用当前值更新位列字段 除了DataGridView没有更新之外,所有的工作都很好,我必须重新加载它才能看到选中/取消选中的更改。 我尝试了刷新和刷新编辑,但不起作用C# DataGridView复选框更新,c#,datagridview,C#,Datagridview,我有一个包含位列的SQL数据库,每当单击复选框时,我都想用当前值更新位列字段 除了DataGridView没有更新之外,所有的工作都很好,我必须重新加载它才能看到选中/取消选中的更改。 我尝试了刷新和刷新编辑,但不起作用 private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e) { SqlConnection db = new SqlConnection(Proper
private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
SqlConnection db = new SqlConnection(Properties.Settings.Default.BikesConn);
if (e.ColumnIndex == 1)
{
if (dgv.Rows[e.RowIndex].Cells["Selected"].Value.ToString() == "True")
{
SqlCommand cmd = new SqlCommand(string.Format("UPDATE {0} SET Selected='0' WHERE ID={1}", Properties.Settings.Default.Profile, dgv.SelectedRows[0].Cells[0].Value.ToString()), db);
db.Open();
cmd.ExecuteNonQuery();
db.Close();
//loadGridViewer(Properties.Settings.Default.Profile);
}
if (dgv.Rows[e.RowIndex].Cells["Selected"].Value.ToString() == "False")
{
SqlCommand cmd = new SqlCommand(string.Format("UPDATE {0} SET Selected='1' WHERE ID={1}", Properties.Settings.Default.Profile, dgv.SelectedRows[0].Cells[0].Value.ToString()), db);
db.Open();
cmd.ExecuteNonQuery();
db.Close();
//loadGridViewer(Properties.Settings.Default.Profile);
}
通过添加以下代码解决:
dgv.Rows[e.RowIndex]。单元格[Selected]。值=!booldgv.Rows[e.RowIndex]。单元格[Selected]。值 如何在GridView中绑定数据?您是否尝试过使用dgv.DataBind进行更新?我使用SqlDataAdapter进行绑定。选中/取消保留的值保存在数据库中,但在重新加载之前,它在DataGridViewer中保持不变。DGV本身的CheckBoxColumn似乎存在某种问题:或者这可能有帮助: