Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
всех с Новым Годом!
есть win7/64, PB10.5
проблема
в событии для DW-dropdown делаю фильтр для поля с DDDW.
обычно пользователь делает выбор и в itemchanged я сбрасываю фильтр DDDW.
а пользователь не захотел что то выбирать и где мне сбросить фильтр? ведь ITEMCHANGED не вызывается...
18 янв 19, 16:36    [21788913]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6384
sboyko,

pbm_dwclosedropdown пробовали?
18 янв 19, 18:02    [21788999]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
Anatoly Moskovsky,
конечно пробовал! правда может это событие надо вызывать как то по особому?
просто так без специальных усилий событие не вызывается.
18 янв 19, 20:58    [21789095]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6384
тогда не знаю )
18 янв 19, 23:45    [21789152]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
А каким образом пользователь отказывается?
ESC нажимает?
21 янв 19, 10:59    [21790026]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
voronk
Member

Откуда: Оттуда...
Сообщений: 539
добавить кнопку или чекбакс для сброса фильтра?
22 янв 19, 01:04    [21790703]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 1974
Такой момент достаточно тяжело отследить
Можно конечно а повесить скрипт на clicked и keydown, но мой совет все-таки оставить в itemchanged
3 варианта
1. Просто проверять фильтр если произойдет изменение в других полях
2. Не ставить фильтр, а проверять допустимость значения при выборе
3. Вместо фильтра использовать нулевую высоту строки в dw
Возможны еще какие-нибудь решения, это я навскидку, поэтому решайте сами
22 янв 19, 11:28    [21790892]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 1974
Вообще была тема про это
Совет от Зорина про pbm_erasebkgnd очень хорошо работал
Но потом посыпались краши и пришлось искать другие пути
22 янв 19, 12:21    [21790943]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
PaulJB,
нет без эскейпа. просто выбирает ту же строку, что и была ранее. и кликает
23 янв 19, 10:44    [21791858]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
spas2001,
в моем случае получается что негде проверять все эти условия.
дропдаун - срабатывает всегда, а itemchanged - ТОЛЬКО при наличии изменений! нет изменений-все возвращается на круги своя-в ожидание.
23 янв 19, 10:47    [21791865]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
spas2001
Такой момент достаточно тяжело отследить
Можно конечно а повесить скрипт на clicked и keydown, но мой совет все-таки оставить в itemchanged
3 варианта
1. Просто проверять фильтр если произойдет изменение в других полях
2. Не ставить фильтр, а проверять допустимость значения при выборе
3. Вместо фильтра использовать нулевую высоту строки в dw
Возможны еще какие-нибудь решения, это я навскидку, поэтому решайте сами


1.не прошло никакого изменения(но фильтр в дропдаун есть) - выходим без itemchanged-вместо наименования поля как полагалось бы - цифровое значение поля в DDDW.
2.не ставить фильтр-выбираем пункты плана на год, подпункты зависят от пункта верхнего уровня. получается мешанина из разных подпунктов, принадлежащих разным уровням.
3.не пробовал пока-буду стараться.. спасибо
23 янв 19, 11:06    [21791893]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
voronk
добавить кнопку или чекбакс для сброса фильтра?

пользователь не должен видеть и понимать все это про фильтр. структура иерархическая, в виде дерева. выбирая в верхнем уровне - идем по выбранной ветви далее, выбирая новые подробности.
23 янв 19, 11:08    [21791902]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
spas2001
Вообще была тема про это
Совет от Зорина про pbm_erasebkgnd очень хорошо работал
Но потом посыпались краши и пришлось искать другие пути


спасибо, попробую, поизучаю
23 янв 19, 11:09    [21791903]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
Если я правильно понял изначальную проблему:
У Вас есть DW, в котором есть два поля с dddw.
1. Поле с dddw, управляющее фильтром другого поля с dddw (2)
2. Поле с dddw, содержащее отфильтрованный список по значению из поля (1)

Изначально при старте DW эти поля содержат корректную информацию?
Я имею в виду комбинацию значение поля 1 и фильтр списка поля 2?

Пользователь отображает список 1 и делает выбор - срабатывает itemchanged и мы меняем фильтр.
При этом, возможно, не корректное отображение информации в поле 2, но это другая история.
Решение в этом случае есть и если надо - я опишу.

Пользователь отображает список 1 и не делает выбор - фильтр менять не надо ибо значение первого поля не изменилось.

Все работает корректно.

Поправьте меня, если я не прав и не правильно понял начальную проблему.
24 янв 19, 11:14    [21793059]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
Riska
Member

Откуда: Израиль
Сообщений: 948
Как я понимаю, есть несколько dddw. Каждый из них делает фильтр на последующий.
При открытии окна делаются фильтры "сверху вниз".
Не понятно, в чем проблема.
Клиент нажал на dddw, ничего не выбрал (выбрал текущую сторку). Закрыл dddw. Т.е. как будто ничего и не делал.
Если он опять откроет dddw, то фильтр не изменится и все будет работать.
Зачем сбрасывать фильтр?
27 янв 19, 13:47    [21795160]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 1974
Я за автора попробую ответить
Фильтр нужно установить, чтобы пользователь ничего лишнего не выбрал, но одновременно в dddw может отфильтроваться значение, которое является текущим в окне и если фильтр не сбросить мы увидим его значение, а не отображаемое поле, что некорректно
27 янв 19, 17:22    [21795254]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
PaulJB
Member

Откуда: Киев
Сообщений: 737
Ну в таких случаях надо озаботиться процессом контроля правильности отображения.
Если надо, проверять и в случае не корректного значения через settext() устанавливать значение, первое в списке (например).
При этом значение поля не изменяется. Изменяется только значение буфера и отображение и его, потом, можно легко откатить..
29 янв 19, 17:38    [21797155]     Ответить | Цитировать Сообщить модератору
 Re: dddw  [new]
sboyko
Member

Откуда:
Сообщений: 519
spas2001
Я за автора попробую ответить
Фильтр нужно установить, чтобы пользователь ничего лишнего не выбрал, но одновременно в dddw может отфильтроваться значение, которое является текущим в окне и если фильтр не сбросить мы увидим его значение, а не отображаемое поле, что некорректно


совершенно верно!
30 янв 19, 12:56    [21797699]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить