Вниз
Скачать: 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.026 c
1-1109932176
AngelOKES
2005-03-04 13:29
2005.03.20
Нужен алгоритм работы с огромными числами (до 200 десятичных зна)


4-1107533019
andrewman
2005-02-04 19:03
2005.03.20
Как сделать соединение двух компов через модем?


14-1109398331
31512
2005-02-26 09:12
2005.03.20
Распространённость различных операционных систем


1-1109933326
MTsv DN
2005-03-04 13:48
2005.03.20
LIB -> OBJ


14-1109263189
JaVa73
2005-02-24 19:39
2005.03.20
Мюзикл Moulin Rouge




   Наверх