Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
8-1135860481
Cr@zy-EyE
2005-12-29 15:48
2006.09.17
Не запускается Direct3d


15-1156826293
Slay
2006-08-29 08:38
2006.09.17
date


2-1157006229
Интересующийся
2006-08-31 10:37
2006.09.17
Выбор значения в поле TDBGrid


15-1156258798
Andy BitOff
2006-08-22 18:59
2006.09.17
Атомами научились управлять поштучно


2-1155816839
.ruslan
2006-08-17 16:13
2006.09.17
DBGridEh и нереальное но...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский