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

как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Все о том как сделать что-то с помощью скриптов.
zeyram
Интересующийся
Сообщения: 191
Зарегистрирован: Пн июн 26, 2017 1:43 pm

как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение zeyram » Пн июл 03, 2017 7:29 pm

Я создал компонент "Закладки" и у меня первая закладка с названием "ОБЩИЕ ДАННЫЕ" (имя компонента - dxTabSheet1), а последняя закладка с названием "выбор Заказчика" (имя компонента - dxTabSheet3).
Изображение
и у меня в макросах формы прописано следующее:

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

...
procedure Do_otkritiya_formi (Sender: TObject);
begin
dxTabSheet3.TabVisible:= false;
dxTabSheet1.Focused;
end;
.....
procedure Form_Create;
begin
....
Self.OnBeforeOpen :=@ Do_otkritiya_formi;
.....
end;

Т.е. я хочу чтобы при открытии формы у меня закладка "выбор Заказчика" скрывалась и показывалась первая закладка "ОБЩИЕ ДАННЫЕ" - это вроде все правильно работает!
Но у меня в закладке "выбор Заказчика" создана кнопка "dxButton1", при нажатии на которую у меня выполняется другой макрос:

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

.....
procedure ClickButton1 (Sender: TObject);
begin
dxTabSheet3.TabVisible:= true;
dxTabSheet3.Focused
end;
.....
procedure Form_Create;
begin
.....
dxButton1.OnClick:=@ ClickButton1;
....
end;     

Т.е. мне нужно, чтобы при нажатии на кнопку "dxButton1" закладка "выбор Заказчика" отображалась и она была выделана или была видимая на экране формы, так чтобы я видел данные на этой вкладке и редактировал их, но вот здесь что-то не так, так как если я нажимаю, то закладка "выбор Заказчика" появляется, но выделение не переходит на неё, а так и остаётся на закладке "ОБЩИЕ ДАННЫЕ" и если мы перейдём вручную на закладку "выбор Заказчика" и затем закроем форму "Ок", то потом при повторном открытии формы отображается не первая закладка "ОБЩИЕ ДАННЫЕ", а почему-то вторая закладка "Замер".
Изображение
Вот проблемы, которые я не могу решить!
чтобы переходило на закладку по кнопке и при повторном отображении показывалась первая закладка
помогите великие умы!
Вложения
УЧЁТ ЗАКАЗОВ В РАБОТЕ.rar
база для наглядности
(63.92 КБ) 47 скачиваний

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

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение YurAnt » Пн июл 03, 2017 7:45 pm

1. Закладке некуда сохранять свое состояние.
2. Вы их лоб-в-лоб:

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

procedure Do_otkritiya_formi (Sender: TObject);
begin
dxTabSheet3.TabVisible:= false;
dxTabSheet1.Focused;
end;

procedure ClickButton1 (Sender: TObject);
begin
dxTabSheet3.TabVisible:= true;
dxTabSheet3.Focused
end;           
Изображение

zeyram
Интересующийся
Сообщения: 191
Зарегистрирован: Пн июн 26, 2017 1:43 pm

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение zeyram » Пн июл 03, 2017 7:53 pm

если честно я не понимаю что им мешает, я не такой уж всезнающий программист и не знаю какую команду надо и где писать.
Вы можете сказать какую команду и где мне писать, чтобы я не пытался делать тщетные попытки методом тыка для исправления кода и не понимать что делаю ? что должно сначала идти, что потом, и может я вообще не те команды использую ?

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

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение YurAnt » Пн июл 03, 2017 7:57 pm

Как закладка должна быть видна, если Вы ее намерено скрываете (visible:=false)?
Вы можете толком объяснить зачем нужно скрывать закладку изначально?
Изображение

zeyram
Интересующийся
Сообщения: 191
Зарегистрирован: Пн июн 26, 2017 1:43 pm

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение zeyram » Пн июл 03, 2017 8:01 pm

она должна отображаться только когда мы нажимаем на кнопку "dxButton1" и там выбираем из списка Заказчика, а если нам не нужно выбирать, то пишем сами вручную данные Заказчика в закладке "ОБЩИЕ ДАННЫЕ", поэтому это и нужно скрывать, чтобы лишнее не показывать если мы будем Заказчика не из списка выбирать а сами вводить его данные и не будем при этом заносить эти данные в список Заказчиков- мне так нужно!

zeyram
Интересующийся
Сообщения: 191
Зарегистрирован: Пн июн 26, 2017 1:43 pm

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение zeyram » Пн июл 03, 2017 9:36 pm

ВОТ СМОТРИТЕ И НАСЛАЖДАЙТЕСЬ ! я сам методом тыка, проб и ошибок нашёл нужные команды и сделал то, что хотел !

и всё таки я не настолько ещё тупой! :D
Вложения
УЧЁТ ЗАКАЗОВ В РАБОТЕ.rar
(66.87 КБ) 68 скачиваний
Последний раз редактировалось jurist23rus Пн июл 03, 2017 10:05 pm, всего редактировалось 1 раз.
Причина: Не кричите и будьте вежливы!

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

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение YurAnt » Пн июл 03, 2017 9:55 pm

М-м-м... Класно! ИзображениеА я тут грешным делом засел базу с нуля писать, чтобы заставить Вас выкинуть свою какаху...
Ну раз справляетесь...
Изображение

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

Re: как в компоненте "Закладки" сделать переход по кнопке на другую закладку и убрать неправильное отображение данных

Сообщение YurAnt » Пн июл 03, 2017 10:17 pm

А вот пост товарища я б исходном виде оставил. Чтобы потом было куда носом тыкать, когда его (завтра) этот "интеллект" чутка отпустит и он снова попросит помощи... База ведь ещё не финальная версия...
Изображение