Текущий архив: 2005.03.20;
Скачать: 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 вся ветка
Текущий архив: 2005.03.20;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.029 c