Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизЕсли DBEdit имеет нулевое значение, то как подставить в негоТекст Найти похожие ветки
← →
Zif © (2004-10-21 15:32) [0]Если DBEdit имеет нулевое значение, то как подставить в него мой текст? Откуда узнать что значение Caption пустое?
begin
if DBText5.Field.AsString:="" //что должно тут быть?
then begin
DBText5.Caption:="не выбрано"
end;
← →
Johnmen © (2004-10-21 15:39) [1]
begin
if DBText5.Field.IsNull
then begin
DBText5.Field.AsString:="не выбрано"
end;
← →
asp © (2004-10-21 15:39) [2]Может:
procedure Field.OnGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
Text:= "не выбрано"
else
Text:= Sender.AsString
end;
← →
Zif © (2004-10-21 16:03) [3]спасибо за быстрый ответ!
procedure Field.OnGetText(Sender: TField; var Text: String; DisplayText: Boolean); //где нажать, чтоб получить эту строку?
ведь неоходимо чтобы он сам автоматически обновлялся...
← →
Vlad © (2004-10-21 16:10) [4]
> где нажать, чтоб получить эту строку?
в Fields Editor"е
← →
asp © (2004-10-21 16:13) [5]Это событие, которое тебе нужно обработать.
Для этого кликаешь на Table два раза, заходишь в Fields editor, кликаешь в нем правой кнопкой мыши и выбираешь Add all fields. Затем выбираешь нужное поле, переключаешься на Object inspector, закладка Events, событие OnGetText, двойной клик мыши и вводи код.
← →
Zif © (2004-10-21 16:50) [6]Вот что у меня получилось:
procedure TDataModule1.ADODataSetMainTypeGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if ADODataSetMainType.IsNull then
FormMain.DBTextType.Caption:="не выбрано"
else
FormMain.DBTextType.Caption:=ADODataSetMainType.AsString;
end;
текст "не выбрано" не отображается... что опять не так?
PS. я использую для отображения динамическое поле ADODataSetMainType1 типа Lookup.
← →
Vlad © (2004-10-21 16:55) [7]
> Zif © (21.10.04 16:50) [6]
ты [2] читал?
зы: DisplayText:=true;
← →
Zif © (2004-10-21 17:13) [8]читал 10 раз, все равно не могу понял в чем причина...
может так:
if FormMain.DBTextType.Field.IsNull then
FormMain.DBTextType.Caption:="не выбрано"
else
FormMain.DBTextType.Caption:=ADODataSetMainType.AsString;
← →
Johnmen © (2004-10-21 17:14) [9]>читал 10 раз,
:)))
Теперь попробуй тупо скопировать...
← →
Zif © (2004-10-21 17:30) [10]согласен, ступил... все получилось.
procedure TDataModule1.ADODataSetMainType1GetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if Sender.IsNull then
Text:="не выбрано"
else
Text:=Sender.AsString
end;
сделал для динамического поля
Все большое спасибо.
← →
msguns © (2004-10-21 17:55) [11]>Zif © (21.10.04 17:13) [8]
>if FormMain.DBTextType.Field.IsNull then
Старайся избегать в методах классов ссылок на экземпляры других классов. Эта привычка приведет к большим неприятностям в дальнейшем, когда, например, будешь использовать не созданные в дизайне, а динамически создаваемые в ран-тайме объекты (в т.ч. формы, датамодули и т.п.)
← →
Zif © (2004-10-21 18:12) [12]спасибо за совет, я вообще пока "новичок", самоучка, в основном занимаюсь сейчас пока созданием дизайна своей программы, поэтому каждый раз - новые открытия...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c