private void dgv_Menu_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (dgv_Menu.Columns[e.ColumnIndex].Name == CHK.Name & e.RowIndex >= 0) { string container_type = dgv_Menu.Rows[e.RowIndex].Cells[MenuCode.Name].Value.ToString(); DataRow[] drs = dt_Menu.Select(string.Format("MenuCode='{0}'", container_type)); if (drs.Length > 0) { bool isCheck = SqlInput.ChangeBoolToValue(dgv_Menu.Rows[e.RowIndex].Cells[CHK.Name].FormattedValue, false); if (isCheck == true) { switch (drs[0]["flag"].ToString()) { case "0": drs[0]["flag"] = "2"; //新增(只有状态0才能变成2) break; case "3": drs[0]["flag"] = "1"; //有( 只有状态3才能变成1)(状态0和1都不对数据库进行操作) break; } } else { switch (drs[0]["flag"].ToString()) { case "2": drs[0]["flag"] = "0"; //无(只有状态2才能变成0)(状态0和1都不对数据库进行操作) break; case "1": drs[0]["flag"] = "3"; //删除(只有状态1才能变成3) break; } } dgv_Menu.DataSource = dt_Menu; } } }