DBGrid, CheckBox, Firebird

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
ship
незнакомец
Сообщения: 1
Зарегистрирован: 20.10.2009 14:30:52

DBGrid, CheckBox, Firebird

Сообщение ship »

Добрый день

Хочу чтобы в DBGrid поля в которых 2 значения отобрадались CheckBox-ами.
У DBGrid есть такая опция.
Какое поле должно быть в Firebird, у меня сейчас SmallInt c проверкой на значение 0/1?
Насколько я понимаю я должен сделать DataField с типом ftBoolean и в этом случае оно будет в гриде как CheckBox?
А механизм преобразования значений в Boolean и обратно где и как задавать?
Аватара пользователя
WAYFARER
энтузиаст
Сообщения: 564
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

Сообщение WAYFARER »

ship писал(а):Добрый день
Какое поле должно быть в Firebird, у меня сейчас SmallInt c проверкой на значение 0/1?
Насколько я понимаю я должен сделать DataField с типом ftBoolean и в этом случае оно будет в гриде как CheckBox?
А механизм преобразования значений в Boolean и обратно где и как задавать?

Поменяйте в БД тип поля на BOOLEAN.
v-t-l
энтузиаст
Сообщения: 744
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Сообщение v-t-l »

В Firebird нет типа BOOLEAN.
Аватара пользователя
VAshot
постоялец
Сообщения: 128
Зарегистрирован: 01.11.2007 11:31:21
Откуда: Пермь

Сообщение VAshot »

свойство ButtonStyle в свойствах столбца DBGrid (cbsCheckboxColumn). Там же, есть два поля определяющих true и false.
virus_hm
новенький
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Сообщение virus_hm »

а можете подсказать, как заставить это поле быть редактируемым ??
все перепробывал, как только выбираю стиль чекбокс, оно сразу стает нередактируемым.
Аватара пользователя
dunin
энтузиаст
Сообщения: 634
Зарегистрирован: 02.05.2007 13:18:11
Откуда: Тољя††и
Контактная информация:

Сообщение dunin »

virus_hm писал(а):а можете подсказать, как заставить это поле быть редактируемым ??
все перепробывал, как только выбираю стиль чекбокс, оно сразу стает нередактируемым.

Код: Выделить всё

TColumn(DbGrid1.Columns[i]).ButtonStyle:= cbsCheckboxColumn;
TColumn(DbGrid1.Columns[i]).ReadOnly := False;
TColumn(DbGrid1.Columns[i]).ValueChecked:= 1;
TColumn(DbGrid1.Columns[i]).ValueUnChecked:= 0;

+ прописать SQL на редактирование в связанном датасете.
virus_hm
новенький
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Сообщение virus_hm »

Большущее спасиба))
Ответить