Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
ВнизКак можно результаты изысканий копонента Query передать в Table? Найти похожие ветки
← →
Zilog (2004-01-31 22:06) [0]Как можно результаты изысканий копонента Query передать в Table? Дело в том, что в Table есть обработка нужного мне события поля, OnGetText.
Логика такая - для формирования данных таблицы я использую SQL. Всё хорошо, но мне надо некторые значения подменять на лету. А это я могу сделать через использования Table. Но тогда выпадает Query...
← →
Anatoly Podgoretsky (2004-01-31 22:20) [1]У TTable нет события OnGetText
← →
Zilog (2004-01-31 23:10) [2]зато есть у Field"а.
к нему то и лезу через Table...
← →
Anatoly Podgoretsky (2004-01-31 23:45) [3]Зато Field есть и у Query
← →
Zilog (2004-02-01 05:09) [4]За-то спасибо =)
← →
Zilog (2004-02-05 12:57) [5]>> Зато Field есть и у Query
А как их динамически создать?
Если я не компонент кладу на форму, а перменную задаю...
← →
Карелин Артем (2004-02-05 13:03) [6]Q1.FieldByName("Tра-ля-ля").OnGetText:=...
← →
Zilog (2004-02-05 13:10) [7]Биг сенкс, дружище!!!
← →
Zilog (2004-02-05 14:33) [8]Q1.FieldByName("Tра-ля-ля").OnGetText:=... ????
Дак а как мне свою процедуру туда прописать, если ему надо TFieldGetTextEvent ???
← →
Карелин Артем (2004-02-05 14:46) [9]Пишешь у любого класса процедуру.
procedure OnShowDataFields(Sender: TField; var Text: String;
DisplayText: Boolean);
И точно так же вызываешь
try
s:=Screen.ActiveCustomForm;
if s=nil then exit;
for i:=0 to s.ComponentCount-1 do
begin
if ((s.Components[i] as TDataSet).Fields[j] is TDateField) then
(s.Components[i] as TDataSet).Fields [j].OnGetText:=OnShowDataFields;
end;
except
end;
← →
Val (2004-02-05 15:18) [10]..у любого класса..
это необязательно
← →
Zilog (2004-02-05 15:28) [11]2 Карелин Артем:
а почему именно класса?
я сделал, только вызываю не так как ты написал... Если точнее, то сдлелал так: Q1.FieldByName("Tра-ля-ля").OnGetText:= MyClass.MyProc;
← →
Zilog (2004-02-06 10:53) [12]Вобчем замутил подмену текста - но, если таблица пустая, т.е. свежесозданная, то при запуске проги грит Invaldi Variant Type Conversion.
подмена выглядит так:
case Sender.Value of
0 : Text := "новый текст1";
1 : Text := "новый текст2";
end;
Может способ есть как обработать ошибку?
← →
Zilog (2004-02-06 12:39) [13]разобрался... грубо говоря ...
обработка исключения короче нужна.
← →
Кщд (2004-02-06 13:52) [14]либо IsNull + F1
← →
residen007 (2004-02-07 23:00) [15]Живой(обновляемый) запрос -- свойство: Query.RequestLive:=True
← →
Val (2004-02-09 11:07) [16]>residen007 (07.02.04 23:00) [15]
к чему? реклама "живых" запросов? :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.03.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c