Форум: "Начинающим";
Текущий архив: 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