Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

DBGrid & CheckBox   Найти похожие ветки 

 
Ref   (2006-08-31 15:36) [0]

Доброго времени суток. У меня такой вопрос:
В таблице Access"e если поле имеет булевый тип, то значение этого поля отбражается в виде ЧекБокса. Возможно ли сделать тоже самое в DBGrid если значение этого поля в DataSet"e тоже имеет булевый тип. заранее благодарен.
p.s. Причина этого в том, что пользователь работающий с моим приложением пугается, когда видит в DBGrid значение False или Trueю


 
Elen ©   (2006-08-31 15:40) [1]

Попробуй использовать свойство TDBGrid.Columns[].PickList
Только тебе нужно будет анализировать выбранное пользователем в этом списке например через событие BeforeEdit


 
Elen ©   (2006-08-31 15:41) [2]

P.S. Это выглядит не как ЧекБокс, но просто в реализации


 
Elen ©   (2006-08-31 15:45) [3]

P.P.S Если твоему пользователю всетаки не понравится такой вариант то порули OnDrawDataCell. Там ты можеш закрасить ячейку разными цветами что ИМХО будет информативнее


 
Ref   (2006-08-31 15:54) [4]

Эт все понятно. Может существуют такие компоненты типа DBGrid"a, которые имеют возможность отобразить этот чек бокс
P.s. Просто устал я с ними спорить и доказывать, что им будет понятно зеленый и красные цвета, а им  хоть ты тресни нужен этот долбаный Чек Бокс :)


 
Reindeer Moss Eater ©   (2006-08-31 15:59) [5]

В EhLib"е есть такое грид


 
Ref   (2006-08-31 16:04) [6]

>[5]
EhLib его бесплатная версия существует, или это из серии ничего не бывает на халяву :)


 
Reindeer Moss Eater ©   (2006-08-31 16:10) [7]

Есть и бесплатный вариант.


 
Lexer ©   (2006-08-31 16:33) [8]

Самый простой вариант:
Column.Font.Name := "Wingdings";
TIntegerField(Query.FieldByName("my_boolean")).DisplayFormat := "ь;"""";""""";


 
Lexer ©   (2006-08-31 16:37) [9]

Для смены, поставить еще в 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;



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.093 c
15-1156908198
Slider007
2006-08-30 07:23
2006.09.17
Случай на работе


15-1156099071
AntiUser
2006-08-20 22:37
2006.09.17
К знатокам Oracle.


2-1156942703
Сергей1
2006-08-30 16:58
2006.09.17
Dbgrid


15-1156100676
Некто
2006-08-20 23:04
2006.09.17
Не удаляется файл.


2-1156777707
иван8511
2006-08-28 19:08
2006.09.17
Фукция асемблера?