CheckBox в таблице

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
ruslan_sul
Сообщения: 2
Зарегистрирован: 17 май 2004, 20:47

Помогите пожалуйста, требуется в dataGrid или в чем-то подобном отображать логическое поле в виде флажка,
dataGrid явно для этого не приспособлен, я думаю, может создавать массив checkBox, заносить в них значение поля таблицы, и кидать их на форму в виде таблицы. Но думается мне это не рационально.
Подскажите вариант. СПАСИБО
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

1. Имеется в виду DBGrid?
2. В любом случае поверх ячейки в режиме редактирования накладывается TInplaceEditor.

Незнаю как в D7, а в D6 и раньше субклассить TInplaceEditor и подменить его в DBGrid или ином стандартном гриде нельзя без создания собственной реализации Grid порождая его аж от самого TCustomGrid :(

Но это в режиме редактирования, а вот для отрисовки логических ячеек только для просмотра можно запросто использовать только обработчик OnDrawDataCell


А самый легкий подход это замениьть щрифт в колонке на WingDings и заменять в логическом поле по OnGetText логическое значение на символы с изображением чекбоксов. Также можно обеспечить и редактирование логических полей обрабатывая клавишу Пробел в гриде.
ruslan_sul
Сообщения: 2
Зарегистрирован: 17 май 2004, 20:47

Спасибо, я так понял что это решение TInplaceEditor
описывается для DELPHI? Там действительно все проще решается даже в D5. А я интересуюсь решением в VBasic.
А вот предложение с шрифтом весьма интересное и действительно проще.
СПАСИБО
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Ой, виноват. Откроешь бывало все сообщения, пишешь ответы в оффлайне... да вот и перепутал доски...

Значит dataGrid под это не заточен, и соотвветственно на нем можно поставить крест.
Надо искать гриды, котрые понимают Boolean-поля. Мне такие не попадались... Да я и на MS VB на самом деле практически ничего и не пишу.
Ответить