Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.20;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-65998
Urri
2003-11-10 12:47
2003.11.20
Алгоритм проверки массива на отсутствие повторяющихся значений


3-65767
Disruptor
2003-10-31 08:55
2003.11.20
RxMemoryData


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


3-65745
OlkaGTS
2003-10-31 16:55
2003.11.20
Ошибка ClientDataSet.LoadFromFile


14-66110
Lenka
2003-10-29 08:34
2003.11.20
Вопрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский