Страница 1 из 1

Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 13:13
K0sinus
Добрый день! Есть таблица-индикатор. Возможно ли при нажатии кнопки "редактирование" сделать её контроллером и потом обратно индикатором?

Пробовал менять свойство Indicator, но при запуске выдаётся ошибка "The property is writable only when VI is in edit mode..." Возможно ли это обойти?

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 13:44
Blackman
Таблица должна быть контролом. Дальше свойство Enabled-Disabled
http://zone.ni.com/reference/en-XX/help ... _disabled/

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 13:51
K0sinus
Этот способ не годится, мне надо разрешить выбор и выделение строк, но запретить редактирование. Делаю это case'ом, если редактирование выключено, при value change возвращаем old value. Но зачем тогда свойство Indicator?

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 14:34
Blackman
:wink:

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 15:22
K0sinus
Идея с двумя таблицами хороша. Но не жирно ли с точки зрения ресурсов держать две таблицы? Или мой метод (возвращение old value если редактирование выключено) такой же затратный?
Так зачем нужно свойство Indicator?!

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 15:30
dadreamer
K0sinus писал(а):Так зачем нужно свойство Indicator?!
Это для скриптинга в основном, чтобы различать контролы и индикаторы по неприведенным ссылкам.
K0sinus писал(а):Делаю это case'ом, если редактирование выключено, при value change возвращаем old value.
А чем плох этот способ? Можно, конечно, ещё обрабатывать нажатия клавиш и кнопок мыши. Но нужно ли?

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 15:55
K0sinus
А чем плох этот способ? Можно, конечно, ещё обрабатывать нажатия клавиш и кнопок мыши. Но нужно ли?
Очень усложнилась структура программы. Много пересекающихся событий, которые запускают друг друга. Пытаюсь найти что-то новое, чтобы не запускать лишний раз value change.

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 16:05
dadreamer
K0sinus писал(а):Очень усложнилась структура программы. Много пересекающихся событий, которые запускают друг друга. Пытаюсь найти что-то новое, чтобы не запускать лишний раз value change.
Ну, тогда лучше попробовать две таблицы. Если данных в таблице немного, то тормозить не будет. Иначе по-простому вряд ли получится сделать.

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 01 дек 2017, 17:54
K0sinus
Понял, спасибо!

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 03 дек 2017, 13:09
Юрий
Я, честно говоря, не уверен, что понял проблему. Но, всё же вот такой вариант.
Думается, что решение с Enabled-Disabled в этом варианте тоже пойдёт.

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 03 дек 2017, 14:26
Blackman
Юрий, у Вас в режиме индикации даже скролл не работает.-( А как делать выделение строк (выделение субтаблицы, а не одной строки) мышкой? А что по поводу например контекстного меню? Которое по хорошему должно быть разным для каждого режима. С двумя таблицами это решается очень просто. С минимальными затратами.

Re: Программное изменение индикатора на контроллер и обратно

Добавлено: 05 дек 2017, 13:25
Vitekkz88
K0sinus, Вам шашечки или ехать? Если нужен именно индикатор(который позволяет так же выделять строки и всё такое), то только 2 таблицы.
Если же нужен дезейбл с возможностью скролить таблицу(но не выделять строки), то используйте декорацию.