powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / 3 значения DataGridViewCheckBoxColumn
16 сообщений из 16, страница 1 из 1
3 значения DataGridViewCheckBoxColumn
    #38038269
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.

В DataGridView есть столбец DataGridViewCheckBoxColumn, который имеет свойство ThreeState = true. Подскажите пожалуйста как сделать так, чтобы в при включённом свойстве ThreeState третье значение в данных не выбиралось, то есть производилась смена значений между true/false.

Сразу отвечаю на вопрос, почему бы просто не отключить ThreeState:
Строка поиска (которая формируется на основе типа данных в DataGridView) должна содержать третье состояние, чтобы можно было выводить true/false и сразу оба значения в одном CheckBox.

Спасибо.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039094
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitri4,

обрабатывайте сами CellContentClick - и ставьте то что хотите
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039235
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пытался сделать что-то подобное, но я не нашёл у колонки DataGridViewCheckBoxColumn аналогичного свойства как у CheckBox - CheckState, да и DataGridViewCheckBoxColumn к CheckBox не преобразуется. Как мне присвоить DataGridViewCheckBoxColumn значение CheckState.Indeterminate?
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039319
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitri4,

Вам нужно DataGridViewCheckBoxCell

В CellContentClick - (m_Menu[e.ColumnIndex, e.RowIndex] as DataGridViewCheckBoxCell).Value
true - чекнуто
false - нечекнуто
null - третье
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039378
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, благодаря вам проблема почти решена.
Не понял что такое m_Menu, мой код выглядит примерно так:

if ((dgv_Example[e.ColumnIndex, e.RowIndex] as DataGridViewCheckBoxCell).Value.ToString() == "")
{
MessageBox.Show("Получилось");
}

Но таблица помнит первоначальное значение поля. То есть если там изначально стояло true, то сколько не переключай значение, true там и останется для данного кода.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039385
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitri4,

через что данные получаете? через DataBinding?
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039387
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039393
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitri4,

попробуйте сделать через прямое присвоение
dgv_Example.DataSource = ....
и в колонках DataPropertyName задайте

DataBinding не даёт редактировать значения
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039420
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В том то и дело, что значение в источнике редактировать не надо. Там есть кнопка сохранить и множество проверок на выход без сохранения. Можно ли узнать текущее значение, отображаемое на экране в DataGridView?
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039513
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то я Вас не пойму:
Dmitri4...как сделать так, чтобы в при включённом свойстве ThreeState третье значение в данных не выбиралось, то есть производилась смена значений между true/false...

Dmitri4... значение в источнике редактировать не надо...

так надо редактировать или не надо?

если вы хотите узнать значение в ячейке - берите и узнавайте
(dgv_Example[i, i] as DataGridViewCheckBoxCell).Value
true - чекнуто
false - нечекнуто
null - третье
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039522
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В моём первом посте подразумевалось переключение между true/false. Сохранит значение другая функция, важно чтобы пользователь просто не мог выбрать значение null, но оно должно быть допустимо ThreeState. Как я уже писал, в нынешнем нашем с вами примере читается информация источника, а не та, что сейчас на экране.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039533
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извиняюсь, если запутал вас.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039549
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас заметил одну особенность: если я меняю значение, то он его не схватывает, но если я ухожу с этой ячейки и возвращаюсь обратно, то значение обновляется.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039551
фиганыч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
%;)№ (здесь должен быть смайлик показывающий жжение в мозгу)

Dmitri4... чтобы пользователь просто не мог выбрать значение null, но оно должно быть допустимо ThreeState...

выбрать где?
допустимо где?
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039572
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не должно быть возможности выбрать в DataGridView и там же оно должно быть допустимо.
Предлагаю отключить от этого, так как в голове начинает твориться путаница. Мне просто надо знать как получить текущее значение в DataGridView, последний код не может этого обеспечить, он показывает только то значение, которое было в момент вхождения в ячейку, я уже начинаю подумывать о коде, который произведёт выход и возврат в ячейку.
...
Рейтинг: 0 / 0
3 значения DataGridViewCheckBoxColumn
    #38039588
Dmitri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю за помощь. Реализовал всё с помощью смены и возврата в активную ячейку, думаю этого будет достаточно.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / 3 значения DataGridViewCheckBoxColumn
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]