Здравствуйте, Bauern, Вы писали:
B>Есть DataGridView
B>Он прибинден к табличке базы. B>Одна из колонок не связана с атрибутом таблицы — Чек бокс
B>С помощью чекбоксов пользователь выбирает записи которые ему нужны
B>Value этих чекбоксов всегда null. Даже если чек бокс установлен мышей в чекед.
B>Как получить текущее значение CheckBox контрола, который соответствует DataGridViewCheckBoxCell?
А разве Value а не Checked ?Не то свойство прверяешь?
В моем гриде есть несколько столбцов с галочками, при этом я запрещаю эти галки ставить/снимать (через свойства столбцов). Но выглядят эти галочки так, будто на самом деле их редактировать можно. Надо их как-то затенить, но как? Не знаю, как обратиться к этой галочке "внутри" DatagridviewCell, чтобы поиграть с ее свойствами.
Единственная проблема — когда выбираю какую-нибудь строку, то ячейки с галочками отрисовываются, будто они не выделены (см. http://www.rsdn.ru/File/50431/checkboxrows.JPG)... как это переделать — не знаю
Ник>Единственная проблема — когда выбираю какую-нибудь строку, то ячейки с галочками отрисовываются, будто они не выделены (см. http://www.rsdn.ru/File/50431/checkboxrows.JPG)... как это переделать — не знаю
исправил заменой .Background на .SelectionBackground
наверное, эту ветку можно внести в FAQ
Здравствуйте, Ник, Вы писали:
Ник>>Единственная проблема — когда выбираю какую-нибудь строку, то ячейки с галочками отрисовываются, будто они не выделены (см. http://www.rsdn.ru/File/50431/checkboxrows.JPG)... как это переделать — не знаю
Ник>исправил заменой .Background на .SelectionBackground Ник>наверное, эту ветку можно внести в FAQ
Я справился не заменой, а добавлением еще одного if-а по SelectedBackground и с проверкой свойства Selected:
// Рисуем фон ячейкиif ((paintParts & DataGridViewPaintParts.Background) == DataGridViewPaintParts.Background)
{
SolidBrush cellBackground = new SolidBrush(cellStyle.BackColor);
graphics.FillRectangle(cellBackground, cellBounds);
cellBackground.Dispose();
}
// Рисуем фон ячейки если она выбранаif ((paintParts & DataGridViewPaintParts.SelectionBackground) == DataGridViewPaintParts.SelectionBackground && this.Selected)
{
SolidBrush cellBackground = new SolidBrush(cellStyle.SelectionBackColor);
graphics.FillRectangle(cellBackground, cellBounds);
cellBackground.Dispose();
}
Здравствуйте, Bauern, Вы писали:
B>Есть DataGridView
B>Он прибинден к табличке базы. B>Одна из колонок не связана с атрибутом таблицы — Чек бокс
B>С помощью чекбоксов пользователь выбирает записи которые ему нужны
B>Value этих чекбоксов всегда null. Даже если чек бокс установлен мышей в чекед.
B>Как получить текущее значение CheckBox контрола, который соответствует DataGridViewCheckBoxCell?
А как насчет TrueValue? Описан он так:
Gets or sets the underlying value corresponding to a cell value of true.
Re: DataGridView Чекбоксы
От:
Аноним
Дата:
15.12.06 07:38
Оценка:
А что если в DataTable,который является DataSource для данного DataGridView добавить колонку булевого типа?