Вниз
Скачать: CL | DM;

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

 
Openfire   (2005-03-03 13:45) [0]

Добрый день!
Проблема такая: есть PageControl c тремя закладками (T,B,S), на закладке B расположен DBGrid3 при нажании DblClick выполняется следующее:
  dcl:=true; -- для отловления события что нажали DblClick
  Edit5.Enabled:=True;
  Edit5.Text:=DBGrid3.SelectedField.AsString;
  CheckBox1.Checked:=False;
  Application.ProcessMessages;
  PageControl1.ActivePage:=S;

в PageControl1 S в OnShow стоит следующее:
if dcl=false then
 begin
  Errors_Per(IncDay(Date,-1),IncDay(Date,1)); -- текст ниже
  CheckBox1.Checked:=True;
  Edit5.Enabled:=False;
  Edit5.Text:="";
 end
else
 begin
  Errors_Per_J(IncDay(Date,-1),IncDay(Date,1)); -- аналогично Errors_Per
  dcl:=false;
//   MessageDlg("3",mtInformation,[mbOk], 0);
 end;

Текст Errors_Per
with DataModule1.Errors do
 begin
  Close;
  SetVariable("DT1",dts1);
  SetVariable("DT2",dts2);
  Open;
{-- --}
  DataModule1.DataSource4.DataSet:=DataModule1.Errors;
 end;

Если не раскомментировать MessageDlg, то при двойном нажатии в DBGrid в одной закладке (B), происходит переход на закладку S, информация в DBGrid на это закладке обновляется, но тутже исчезает...
Если не раскомментировать MessageDlg, то происходит тоже самое, но появляется MessageDlg, нажимаем Ок... Информация из DBGrid не исчезает...
При простом нажатии на закладку S информация в DBGrid отображается правильно...
Объясните в чем ошибка? Как ее побороть?


 
Erik1 ©   (2005-03-03 15:25) [1]

Сделать так, чтобы не исчезала, например if dcl=false это полный бред. Почему бы тебе неперенести код из OnShow в более подходящее место?


 
Openfire   (2005-03-04 09:59) [2]

Подскажи куда именно?


 
Erik1 ©   (2005-03-04 11:01) [3]

При PageControl1.ActivePage:=S; не все события отрабатывают. Можно использовать TPageControl.OnChange А при нажатии DblClick после ActivePage сразу выполнять нужную тебе процедуру.



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

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



Память: 0.45 MB
Время: 0.034 c
4-1107822158
romshtain
2005-02-08 03:22
2005.03.20
Знаю чужого хендл окна, как получить хендлы всех объектов


9-1094394044
Zer0
2004-09-05 18:20
2005.03.20
Одновременное проигрывание нескольких звуков в играх


1-1110033485
ПроНыРа
2005-03-05 17:38
2005.03.20
ToolBar


1-1110006412
Pavelkq
2005-03-05 10:06
2005.03.20
Не пойму где глюк с массивом.


14-1108302776
Юрий Зотов
2005-02-13 16:52
2005.03.20
Прощай, диалап!




   Наверх