Последняя версия DataExpress 3 beta от 1 сентября 2019 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Событие перехода к форме

Все о том как сделать что-то с помощью скриптов.
Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Событие перехода к форме

Сообщение YurAnt » Пт окт 13, 2017 7:33 pm

Код: Выделить всё

...
procedure MainPageChange(Sender: TObject);
var
  i:integer;
begin
OldChange(MainWindow.Pages);
for i:=0 to  MainWindow.Pages.PageCount-1 do // перебираем пэйджи в цикле
begin
  if MainWindow.Pages.Pages[MainWindow.Pages.ActivePageIndex].Caption<>'Договор' // проверяем по имени - нужная ли это закладка
  then
    break  // выходим из цикла, если не та...
  else
     begin
      MainWindow.FormViews[MainWindow.Pages.ActivePageIndex].Form.Refresh; // выполняется, если условие совпало с именем указанной закладки.
      break; // нам достаточно всего одного обновления. Выходим.
     end;
  end;
end; 
...

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Событие перехода к форме

Сообщение YurAnt » Пт окт 13, 2017 7:44 pm

Чуть подправил (дополнительный выход из цикла).

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: Сб сен 02, 2017 5:05 pm

Re: Событие перехода к форме

Сообщение KoalaBear » Пт окт 13, 2017 7:45 pm

Работает! Спасибо!!! Супер!

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 4 раза
Контактная информация:

Re: Событие перехода к форме

Сообщение YurAnt » Пт окт 13, 2017 7:46 pm

На здоровье.
Изображение

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: Сб сен 02, 2017 5:05 pm

Re: Событие перехода к форме

Сообщение KoalaBear » Ср окт 18, 2017 9:01 pm

Пытаюсь добавить ещё одно условие в написанный выше код:

Код: Выделить всё

...
if MainWindow.Pages.Pages[MainWindow.Pages.ActivePageIndex].Caption<>'Договор' and MainWindow.Pages.Pages[MainWindow.Pages.ActivePageIndex].Caption<>'Счет' then
...

- компилятор ругается на эту строку, говорит, что Type mismatch :(
Неправильно написал?

Аватара пользователя
admin
Разработчик
Сообщения: 4516
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская
Благодарил (а): 19 раз
Поблагодарили: 73 раза

Re: Событие перехода к форме

Сообщение admin » Ср окт 18, 2017 9:10 pm

Условия надо в скобки брать if (...) and (...) then

KoalaBear
Интересующийся
Сообщения: 171
Зарегистрирован: Сб сен 02, 2017 5:05 pm

Re: Событие перехода к форме

Сообщение KoalaBear » Ср окт 18, 2017 9:21 pm

Спасибо!

Alexis
Новичок
Сообщения: 20
Зарегистрирован: Вс сен 23, 2018 2:07 pm
Благодарил (а): 2 раза

Re: Событие перехода к форме

Сообщение Alexis » Ср ноя 14, 2018 10:13 am

Доброго дня!
Пробовал применить данное решение для похожей ситуации, но не работает.
Суть такая: на одной вкладке (форме) находиться запрос, который использует данные с других форм. Если в формах произошли изменения данных, то они не отображаются в запросе, пока не обновить его кнопкой.
Очень хочется сделать, чтобы запрос обновлялся автоматически при переходе на форму (вкладку) где он находиться.
Приходит на ум такое решение: в обработчике события перехода к форме написать:

Код: Выделить всё

procedure MainPageChange(Sender: TObject);
begin
   OldChange(MainWindow.Pages);
   dxQueryGrid1.refresh;
end;
.
Но компилятор ругается, что dxQueryGrid1 не определен.

Аватара пользователя
admin
Разработчик
Сообщения: 4516
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская
Благодарил (а): 19 раз
Поблагодарили: 73 раза

Re: Событие перехода к форме

Сообщение admin » Чт ноя 15, 2018 10:20 am

Приложите пример базы.

Alexis
Новичок
Сообщения: 20
Зарегистрирован: Вс сен 23, 2018 2:07 pm
Благодарил (а): 2 раза

Re: Событие перехода к форме

Сообщение Alexis » Чт ноя 15, 2018 3:21 pm

Вот моя база. На форме "Производственный план" находится запрос, который по идее должен обновляться при изменении данных форм "Заказы" и "Отчет". Можно для примера рассмотреть и стандартную демо-базу. Там такая же ситуация с запросом на форме "Товарооборот".
Вложения
VSA1.ZIP
(71.94 КБ) 34 скачивания