Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
cancoder
3 / 3 / 3
Регистрация: 04.01.2016
Сообщений: 98
#1

Обработать нажатие на чекбокс в datagridview

07.11.2016, 23:38. Просмотров 206. Ответов 1
Метки нет (Все метки)

есть dataGridView.
один столбец имеет тип - DataGridViewCheckBoxColumn
как правильно обработать нажатие на checkBox в этом столбце?
какое событие нужно вызывать?

у меня получилось пока что только событие MouseClick.

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

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (dataGridView1.CurrentCell == dataGridView1.CurrentRow.Cells[4])
            {
                if ((bool)dataGridView1.CurrentRow.Cells[4].Value == false)
                {
                    dataGridView1.CurrentRow.Cells[4].Value = true;
                    SqlCommand changeStatus = new SqlCommand("UPDATE LIST SET STATUS = '1' WHERE ID_TOPIC = '" + dataGridView1.CurrentRow.Cells[6].Value + "'", connection);
                    if (connection.State != ConnectionState.Open)
                        connection.Open();
                    changeStatus.ExecuteNonQuery();
                    connection.Close();
                }
 
                else
                {
                    dataGridView1.CurrentRow.Cells[4].Value = false;
                    SqlCommand changeStatus = new SqlCommand("UPDATE LIST SET STATUS = '0' WHERE ID_TOPIC = '" + dataGridView1.CurrentRow.Cells[6].Value + "'", connection);
                    if (connection.State != ConnectionState.Open)
                        connection.Open();
                    changeStatus.ExecuteNonQuery();
                    connection.Close();
                }
            }
        }
буду рад слышать критику своего говнокода (с предложением альтернативы) и дельные советы по существу.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2016, 23:38
Ответы с готовыми решениями:

Обработать нажатие кнопки в DataGridView
Программисты, помогите, в пятницу курсач сдавать!! Есть datagridview, в ней...

DataGridView обработать нажатие мышкой на ячейку
всем привет. я создал таблицу которая представляет расписание лекторов,...

DataGridView обработать нажатие мышкой на ячейку
Написать игру «Проверка памяти»: игроку показывают несколько картинок, которые...

Нажатие на ячеку DataGridView, загрузка второго DataGridView по внешнему ключу
не могу понять как реализовать загрузку датагрида по внешнему ключу,не...

Обработать нажатие кнопки
Здравствуйте. У меня автоматически создаются девять кнопок, вот так: ...

1
NewOrdered
401 / 178 / 63
Регистрация: 25.05.2012
Сообщений: 802
Записей в блоге: 1
08.11.2016, 12:16 #2
cancoder, посмотрите здесь:
Какое события при установке галочки на DataGridView?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2016, 12:16

Как обработать нажатие стрелки вверх?
Сервис принимает подключения по Telnet. TcpListener + TcpClient. ...

Обработать нажатие той или иной кнопки в MessageBox
Вообщем открывается MessageBox с двумя стандартными кнопками "Да" и "Нет",...

Как в одном событии обработать нажатие четырех клавиш
как сделать одно событие "нажата кнопка вверх вниз вправо или влево" и можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru