Example #1
0
        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;
                }
            }
        }