Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataGridView复选框更新_C#_Datagridview - Fatal编程技术网

C# DataGridView复选框更新

C# DataGridView复选框更新,c#,datagridview,C#,Datagridview,我有一个包含位列的SQL数据库,每当单击复选框时,我都想用当前值更新位列字段 除了DataGridView没有更新之外,所有的工作都很好,我必须重新加载它才能看到选中/取消选中的更改。 我尝试了刷新和刷新编辑,但不起作用 private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e) { SqlConnection db = new SqlConnection(Proper

我有一个包含位列的SQL数据库,每当单击复选框时,我都想用当前值更新位列字段

除了DataGridView没有更新之外,所有的工作都很好,我必须重新加载它才能看到选中/取消选中的更改。 我尝试了刷新和刷新编辑,但不起作用

    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似乎存在某种问题:或者这可能有帮助: