Как снять галочку со значения флажка - PullRequest
0 голосов
/ 07 февраля 2019

Я использую WinForms Data Grid .Есть столбец для флажков.Когда пользователь проверяет один раз и пытается не проверять снова, появится сообщение с запросом,

Уже существует!\ nВы хотите изменить?

.Когда пользователь нажимает ДА предыдущий флажок снимет флажок, и будет установлен новый.Но если пользователь нажмет NO , то оба будут проверены.Я хочу снять новую , когда пользователь нажмет NO .

private void dgTeam1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                int pIndex = _list1.playerList.FindIndex(p => p.captain == true);

            if (e.ColumnIndex == 6)
            {
                if (pIndex != -1)
                {
                    DialogResult result = MessageBox.Show("Captain already exists! \nDo you want change?", "Change Captain Confirmation", MessageBoxButtons.YesNo);

                    if (result == DialogResult.Yes)
                        dgTeam1[6, pIndex].Value = false;
                    else
                    {
                            dgTeam1[6, e.RowIndex].Value = false;
                    }
                }
            }
        }

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Вы можете попробовать что-то вроде этого, сначала объявите ячейку флажка в переменной, а затем установите значение null

        foreach (DataGridViewRow row in UrDGV.Rows)
        {
            DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)row.Cells["ChkBoxCol"];

            if (ischecked == true)
            {
                chk.Value = null;
            }


        }
0 голосов
/ 07 февраля 2019

Я не знаю, каков остальной ваш код, поэтому я рассматриваю этот код до тех пор, пока ваш MessageBox не будет работать должным образом.Вы были не так уж далеко, вы должны использовать строку и вместо логического:нужно немного подогнать его под свои нужды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...