我有一个包含位列的SQL数据库,每当单击一个复选框时,我想用当前值更新位列字段。
所有工作都很好,除了DataGridView没有更新,我必须重新加载它以查看更改(选中/取消选中)。 我尝试使用Refresh()和RefreshEdit()但它不起作用。
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);
}
答案 0 :(得分:0)
通过添加以下代码解决:
dgv.Rows [e.RowIndex] .Cells [" Selected"]。Value =!(bool)dgv.Rows [e.RowIndex] .Cells [" Selected"] .value的;