![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBGrid & CheckBox [D7, XP]
Ref © (2006-08-31 15:36:00)Доброго времени суток. У меня такой вопрос:
В таблице Access'e если поле имеет булевый тип, то значение этого поля отбражается в виде ЧекБокса. Возможно ли сделать тоже самое в DBGrid если значение этого поля в DataSet'e тоже имеет булевый тип. заранее благодарен.
p.s. Причина этого в том, что пользователь работающий с моим приложением пугается, когда видит в DBGrid значение False или Trueю
Lexer (2006-08-31 16:37:00) [1]Для смены, поставить еще в DBGrid.OnDblClick:
if (CompareText(DBGrid.SelectedField.FieldName,
'my_boolean') = 0) then CheckedRecord;
procedure TForm1.CheckedRecord;
begin
with DBGrid.DataSource.DataSet do
try
Edit;
FieldByName('my_boolean').AsInteger :=
Ord(not Boolean(FieldByName('my_boolean').AsInteger));
Post;
finally
dbgCurDelProvider.Repaint;
end;
end;
Lexer (2006-08-31 16:33:00) [2]Самый простой вариант:
Column.Font.Name := 'Wingdings';
TIntegerField(Query.FieldByName('my_boolean')).DisplayFormat := 'ь;'''';''''';
Reindeer Moss Eater (2006-08-31 16:10:00) [3]Есть и бесплатный вариант.
Ref (2006-08-31 16:04:00) [4]>[5]
EhLib его бесплатная версия существует, или это из серии ничего не бывает на халяву :)
Reindeer Moss Eater (2006-08-31 15:59:00) [5]В EhLib'е есть такое грид
Ref (2006-08-31 15:54:00) [6]Эт все понятно. Может существуют такие компоненты типа DBGrid'a, которые имеют возможность отобразить этот чек бокс
P.s. Просто устал я с ними спорить и доказывать, что им будет понятно зеленый и красные цвета, а им хоть ты тресни нужен этот долбаный Чек Бокс :)
Elen (2006-08-31 15:45:00) [7]P.P.S Если твоему пользователю всетаки не понравится такой вариант то порули OnDrawDataCell. Там ты можеш закрасить ячейку разными цветами что ИМХО будет информативнее
Elen (2006-08-31 15:41:00) [8]P.S. Это выглядит не как ЧекБокс, но просто в реализации
Elen (2006-08-31 15:40:00) [9]Попробуй использовать свойство TDBGrid.Columns[].PickList
Только тебе нужно будет анализировать выбранное пользователем в этом списке например через событие BeforeEdit