Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
3-65705
SasaR
2003-10-29 17:22
2003.11.20
DBF, кириллица


11-65810
vgb
2003-03-03 22:31
2003.11.20
Окно нестандартной формы


3-65728
sasasasa
2003-11-01 23:02
2003.11.20
Interbase API


3-65738
Verba
2003-10-31 18:24
2003.11.20
Обновление Select


3-65741
s
2003-10-31 20:34
2003.11.20
Как можно выйти из редактирования записи не сменив записи?




   Наверх