Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.20;
Скачать: CL | DM;

Вниз

dBGrid   Найти похожие ветки 

 
dimablind   (2003-10-31 23:31) [0]

Здравствуйте, уважаемые кодеры! Уповаю на Вашу помощь!
Имею на форме 7 кнопок. В зависимости от номера нажатой кнопки
формирую запрос, результат которого вывожу в dbgrid. На форме он появляется только после нажатия кнопки (visible:=true). До нажатия кнопки он невидим ( visible:=false).
Он не выводит в себя данные. Ничего не происходит, если пытаться в нем что-нибудь набрать.
Пытался отключать у него datasource и подключать непосредственно перед выводом на экран. Никаких результатов.
Поскажите, пожалуйста, в чем может быть дело? Связано ли это с тем, что он на форме первоначально невидим?
Да, запрос работает правильно.
Спасибо!


 
Beginner3000   (2003-11-01 00:43) [1]

код в студию


 
Stratos ©   (2003-11-01 03:54) [2]

А проверить Query1.Active = True? Ты чем запрос посылаешь?

PS: А за "кодеров" ответишь... ;)


 
dimablind   (2003-11-01 13:19) [3]

Для простоты я пока сделал для одной кнопки:
procedure TForm1.sb1click (Sender as TObject);
begin
query1.close;
query1.params[0].asinteger:=query2.fieldbyname("number").asinteger;
query1.params[1].asstring:="1";
query1.open;
dbgrid1.datasource:=datasource1;
dbgrid1.visible:=true;
dbgrid1.setfocus;
end;
По нажатию клавиши escape он должен убираться с экрана.
procedure TForm1.formkeyup ...
begin
if key=vk_escape then
if dbgrid1.focused then
begin
query1.close;
dbgrid1.datasource:=nil;
dbgrid1.visible:=false;
end;
end;
Подчеркну, что запрос работает правильно, содержит данные , которые меня интересуют...


 
TohaNik ©   (2003-11-01 19:00) [4]

dbgrid1.datasource:=datasource1; поставь перед query1.close;


 
Beginner3000   (2003-11-02 00:36) [5]

dbgrid1.datasource:=nil
думаю не надо

по поводу невидимости:
это зависит от того кому не видим
если пользователю - то всё в порядке
а если датасету, то плохо конечно


 
Плохиш_   (2003-11-02 03:41) [6]

>dimablind (01.11.03 13:19) [3]

Короче:

procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.close;
case (Sender as TButton).Tag of
1: Query1.Params[0].AsString:="South America";
2: Query1.Params[0].AsString:="North America";
3: Query1.Params[0].AsString:="America";
end;
Query1.open;
DBGrid1.visible:=true;
DBGrid1.SetFocus;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=vk_escape then
if dbgrid1.focused then
begin
query1.close;
dbgrid1.visible:=false;
end;
end;


прекрасно работает.
Ищи ошибку в 17й строке с помощью F7/F8


 
P.N.P. ©   (2003-11-02 03:48) [7]


> Он не выводит в себя данные. Ничего не происходит, если
> пытаться в нем что-нибудь набрать

Ясен пень, это же TQuery, а не TDataset или TTable



Страницы: 1 вся ветка

Текущий архив: 2003.11.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.041 c
1-65961
Calm
2003-11-10 18:35
2003.11.20
Как открыть web-страницу в НОВОМ окне


9-65686
cyborg
2003-05-14 12:09
2003.11.20
Оптимальная сортировка объектов для вывода на экран


3-65703
SasaR
2003-10-30 10:39
2003.11.20
Yaffi Personal


8-66012
Юля
2003-07-24 14:17
2003.11.20
Пиксель


1-66009
LinOS
2003-11-10 12:09
2003.11.20
Узнать путь из которого запущено приложение