Главная страница
    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.051 c
15-1156137693
Ega23
2006-08-21 09:21
2006.09.17
С Днём рождения! 19 - 21 августа


1-1154613964
Bleed
2006-08-03 18:06
2006.09.17
Castalia 4 vs Delphi 2006, помогите ...


15-1156396900
Александр Иванов
2006-08-24 09:21
2006.09.17
MS SQL Server 2005 Express Edition


2-1156597801
Grant
2006-08-26 17:10
2006.09.17
Системы исчисления


2-1157088777
Константин_
2006-09-01 09:32
2006.09.17
FastReport 3





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский