|
v7: Переключатель и недоступность части его значений? | ☑ | ||
---|---|---|---|---|
0
MWWRuza
гуру
28.10.22
✎
21:45
|
Добрый день!
|
|||
1
MWWRuza
гуру
28.10.22
✎
21:53
|
Возникла необходимость сделать на форме переключатель с кучей значений(17)...
Все работает. Но захотелось, по определенным условиям, делать часть из них не доступным. И как только я это делаю, начинает не отрабатывать возврат значений переключателя. Т.е., переключаю как мне нужно, например значение с 1 на 3, (точка 2 при этом не доступна) точка перемещается, а в отладчике остается значение переключателя 1... Это баг, фича, или я что-то не так делаю? PS Если не понятно написал, могу демку накидать, где этот эффект виден... |
|||
2
Смотрящий
28.10.22
✎
22:02
|
На каждый элемент повесь функцию принудительно устанавливающую значение переключателя
|
|||
3
MWWRuza
гуру
28.10.22
✎
22:03
|
Что-бы было понятно, о чем я вообще говорю, первоначальная задача, скриншот: https://content.foto.my.mail.ru/mail/m_w_w/_mypagephoto/i-458.jpg
Ряд переключателя(вертикальный), нужен для того, что-бы можно было перемещать слова, отмеченные переключателем, вверх/вниз, кнопками со стрелками справа. Сами поля - это на самом деле не поля, а АктивеИксы, т.е., реально это кнопки на форме. Изменение данных в них, не требует подтверждения ентером.. |
|||
4
MWWRuza
гуру
28.10.22
✎
22:07
|
(2) Не понял... Я мышкой тыкаю в нужное значение, точка перемещается. А значение в модуле не меняется. Какую функцию для этого нужно повесить?
Типа, ПриВыбореЗначенияПер1(), П = 1 - ? П - это имя переключателя, идентификатор его первого в группе элемента. |
|||
5
MWWRuza
гуру
28.10.22
✎
22:13
|
На скриншоте - процедура установки доступности элементов переключателя отключена, все 17 значений доступны.
Сейчас переключатель в положении 2. Кнопками стрелок, я двигаю его как хочу. Все отрабатывает. Но, идея такая - сделать элементы переключателя, соответствующие пустым строкам - не доступными. Как только я это делаю - все ломается, переключатель перестает работать - точка перемещается, а значение в модуле не меняется... |
|||
6
MWWRuza
гуру
28.10.22
✎
22:21
|
Или это баг, связанный с использованием АктивеИксов вместо полей ввода?
Не думаю... Вроде сами поля никак с переключателями не связаны. Попробую смоделитовать на чистой форме, только переключатель и установка некоторыз значений его недоступными по отдельной кнопке... Если повторится выложу сюда. |
|||
7
MWWRuza
гуру
28.10.22
✎
22:56
|
Вот демка: https://cloud.mail.ru/public/e6M3/iLAEwGmdQ
Эффект на ней не проявляется, все работает как нужно... Видимо, что-то в рабочей обаботке, все-таки связано с АктивеИксами... Короче, обойдусь без этой "хотелки"... :-( Пусть все переключатели доступны, не критично, просто так было бы "красивее". |
|||
8
MWWRuza
гуру
28.10.22
✎
23:07
|
Думал, может что-то со сдвигом кнопками не то но нет. Тоже все работает. По ссылке обновленная демка, с кнопками вверх/вниз.
|
|||
9
SleepyHead
гуру
29.10.22
✎
04:49
|
Сделай список значений и заполняй его разрешенными значениями. Все равно выбрать можно только одно. Так и форма будет компактнее.
|
|||
10
SleepyHead
гуру
29.10.22
✎
04:50
|
Посмотрел картинку.. Тут логичнее всего сделать обыкновенные флажки.
|
|||
11
MWWRuza
гуру
29.10.22
✎
11:08
|
(9)(10) Тут задумка такая - ставлю точку переключателя возле нужного слова, и кнопками вверх/вниз перемещаю это слово.
Перемещается точка переключателя, и "тянет за собой" соответствующую строку. Все это работает вполне успешно и давно. Захотел "добавить красивостей", делать недоступным те точки переключателя строка возле которого пустая. И вот стоит после сдвига строки установить доступеость части переключателей в 0, как перестает это все отрабатывать, начинает прыгать переключатель куда попало... В отладчике вижу, что значение переключателя при следующих попытках изменить его, перестает меняться - остается тем-же, что было до установки доступности. Возможно, что это как-то связано с нестандартными полями ввода, они там на АктивеИксах сделаны... Потому как на демке, без полей ввода, воспроизвести этот эффект не получается. Или по тому, что в демке я доступность полей устанавливаю "сразу, по кнопке", а в реальной обработке, динамически, при каждом сдвиге, в зависимости от длины строки данных поля ввода - если СтрДлина(нужная строка) = 0 тогда доступность соответствующего переключателя 0, иначе 1. Попробую на демке это повторить, Добавлю поля ввода, обычные, не АктивеИкс, и если не повторится, то все-таки значит АктивеИксы свои глюки добавляют. |
|||
12
MWWRuza
гуру
29.10.22
✎
11:34
|
А флажки... Ну, можно конечно попробовать, сделать на флажках аналог переключателя - типа устанавливая один из 17 флажков, остальные 16 сбрасывать...
Х.з., возможно это и заработает, но, как-то это не кузяво... Да и лень... Делать "вручную", своей процедурой то, что должно само, на уровне системы отрабатывать в переключателе? Ну... Может быть, но, оно того не стоит, не та задача. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |