private void UpdateSkillCell <T>(int col, int row)
        {
            MaidInfo maid = SelectedMaid;

            if (maid == null)
            {
                return;
            }

            object val = dataGridView_skill_data[col, row].Value;

            if (val is bool)
            {
                val = !(bool)val;
            }

            int skillID = rowToSkillID[row];

            if (!updateSkillTable)
            {
                if (val is T || (col == SKILL_COLUMN_PLAY_COUNT && val is uint))
                {
                    maid.SetSkillValue(skillID, col, val);
                }
                else
                {
                    maid.UpdateSkillData(skillID);
                }
            }
            updateSkillTable = false;
        }