Table или Multicolumn listbox
Table или Multicolumn listbox
1) Чем принципиально отличаются Table и Multicolumn listbox? И что лучше использовать для отображения таблицы разнородных данных?
2) Можно ли в listbox программно менять содержимое строк, добавлять/удалять строки? Не нашёл соответствующие свойства и методы.
3) Можно ли поменять стиль линий между ячейками и в заголовках?
2) Можно ли в listbox программно менять содержимое строк, добавлять/удалять строки? Не нашёл соответствующие свойства и методы.
3) Можно ли поменять стиль линий между ячейками и в заголовках?
Race conditions - опасный и скользкий баг!
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Table или Multicolumn listbox
1) Принципиально отличаются типом данных - если закинуть их на блок диаграмму, то Table - двумерный массив строк, а Multicolumn listbox - числовой тип данных. Потом, в Multicolumn listbox можно присваивать иконки (Symbols) в различные ячейки.Boris_K писал(а):1) Чем принципиально отличаются Table и Multicolumn listbox? И что лучше использовать для отображения таблицы разнородных данных?
2) Можно ли в listbox программно менять содержимое строк, добавлять/удалять строки? Не нашёл соответствующие свойства и методы.
3) Можно ли поменять стиль линий между ячейками и в заголовках?
2) Можно, конечно. Для этого есть свойство Property Node -> Item Names. Это двуменрный массив строк, поэтому работайте с ним как с обычным массивом.
3) А вот этого не знаю
Мы делили апельсин - много наших полегло...
Re: Table или Multicolumn listbox
Как сделать, чтобы в зависимости от значения логической переменной, таблица становилась нередактируемой? Есть свойство Enabled state, но оно не подходит, потому что если ставить Disabled, таблицу невозможно прокручивать, а мне нужно, чтобы её можно было смотреть, крутить, но нельзя было менять значения в ячейках...
Race conditions - опасный и скользкий баг!
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Table или Multicolumn listbox
Я в таких случаях просто делал таблицу индикатором. А если нужно ввести какое-то значение, все делал через ПКМ -> кастомное меню, а дальше, скажем, поле для ввода значений.Boris_K писал(а):Как сделать, чтобы в зависимости от значения логической переменной, таблица становилась нередактируемой? Есть свойство Enabled state, но оно не подходит, потому что если ставить Disabled, таблицу невозможно прокручивать, а мне нужно, чтобы её можно было смотреть, крутить, но нельзя было менять значения в ячейках...
Если же Вы так не хотите, то можно сделать следующее. Пускай таблица будет контролом, и Вы отслежываете, можно ли ее редактировать, или нет. Если нельзя, но пользователь ввел значение, то в Event Structure, на событии (Table) Value change, "откатывайтесь" до предыдущего значения (напр., используя Old value в самой Event Structure).
Мы делили апельсин - много наших полегло...
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Table или Multicolumn listbox
В стандартном контроле нельзя. Если вам так это необходимо, то можете воспользоваться ActiveX-контролами, например ActiveX Office Web Components (см. эту тему). Получите что-то подобное:Boris_K писал(а):3) Можно ли поменять стиль линий между ячейками и в заголовках?
-
- beginner
- Сообщения: 49
- Зарегистрирован: 13 апр 2014, 18:53
- Версия LabVIEW: 14
- Контактная информация:
Re: Table или Multicolumn listbox
День добрый.
Может кто-нибудь подсказать, есть ли возможность "в одно действие" с помощью "Property Node", или как-то ещё, установить (вернуть) значения цвета фона и цвета текста для всех ячеек индикатора (контрола) Multicolumn listbox, чтобы не перебирать по одной ячейке?
Не смог самостоятельно найти соответствующего свойства.
Пока делаю по одной ячейке см. вложение (Lab View 2014).
Может кто-нибудь подсказать, есть ли возможность "в одно действие" с помощью "Property Node", или как-то ещё, установить (вернуть) значения цвета фона и цвета текста для всех ячеек индикатора (контрола) Multicolumn listbox, чтобы не перебирать по одной ячейке?
Не смог самостоятельно найти соответствующего свойства.
Пока делаю по одной ячейке см. вложение (Lab View 2014).
- Вложения
-
- Clear Listbox.vi
- (20.84 КБ) 152 скачивания
-
- beginner
- Сообщения: 49
- Зарегистрирован: 13 апр 2014, 18:53
- Версия LabVIEW: 14
- Контактная информация:
Re: Table или Multicolumn listbox
Спасибо, dadreamer.
О таком варианте я даже не задумался почему-то.
Суть та же, всё равно назначение цвета каждой ячейке, но шагов-то меньше, как ни крути. Использую у себя.
Этот вариант несомненно оптимальнее моего, но вопрос пока не снимаю: "есть ли такое свойство (что-то вроде "set default parameters") для Multicolumn listbox?
О таком варианте я даже не задумался почему-то.
Суть та же, всё равно назначение цвета каждой ячейке, но шагов-то меньше, как ни крути. Использую у себя.
Этот вариант несомненно оптимальнее моего, но вопрос пока не снимаю: "есть ли такое свойство (что-то вроде "set default parameters") для Multicolumn listbox?
-
- beginner
- Сообщения: 49
- Зарегистрирован: 13 апр 2014, 18:53
- Версия LabVIEW: 14
- Контактная информация:
Re: Table или Multicolumn listbox
, я понимаю, что вопрос глупый, но всё равно не могу понятьdadreamer
Как вызвать свойства "CellBGColors" и "CellFontColors" вместо "CellBG" и "CellFontColor" соответственно. Как назначить массив цветов для массива ячеек, вместо одного цвета для одной ячейки?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Table или Multicolumn listbox
Shurik_85, это приватное свойство. Для того, чтобы его увидеть, надо прописать в LabVIEW.ini строчку
Свойство называется Bulk Cells.
Код: Выделить всё
SuperSecretPrivateSpecialStuff=True
-
- beginner
- Сообщения: 49
- Зарегистрирован: 13 апр 2014, 18:53
- Версия LabVIEW: 14
- Контактная информация:
Re: Table или Multicolumn listbox
Shurik_85 писал(а):, я понимаю, что вопрос глупый, но всё равно не могу понятьdadreamer
Как вызвать свойства "CellBGColors" и "CellFontColors" вместо "CellBG" и "CellFontColor" соответственно. Как назначить массив цветов для массива ячеек, вместо одного цвета для одной ячейки?
Можно ещё больше упростить программу (см. вложение), но мой предыдущий вопрос остаётся в силе: "Как добраться до свойств "CellBGColors" и "CellFontColors" вместо "CellBG" и "CellFontColor" соответственно?".Bulk Cells.vi
- Вложения
-
- Clear Listbox_2.vi
- (lv 2014)
- (18.46 КБ) 140 скачиваний
-
- beginner
- Сообщения: 49
- Зарегистрирован: 13 апр 2014, 18:53
- Версия LabVIEW: 14
- Контактная информация:
Re: Table или Multicolumn listbox
Спасибо, понял. Не заметил сразу ответ. Так глубоко я точно не копалRe: Table или Multicolumn listbox
dadreamer 46 минут назад
Shurik_85, это приватное свойство. Для того, чтобы его увидеть, надо прописать в LabVIEW.ini строчку
КОД: ВЫДЕЛИТЬ ВСЁ
SuperSecretPrivateSpecialStuff=True
Свойство называется Bulk Cells.
Буду пока пользоваться "дозволенными функциями" как в "Clear Listbox_2.vi".
Невольно задумываешься, а "засекречены" (спрятаны) свойства потому что, до конца не отлажены (возможны баги при работе) или по каким другим причинам?
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Table или Multicolumn listbox
В основном по этой первой причине. Часто у R&D нет возможности тщательно протестировать все те новые фичи, что они добавляют. Поэтому такие блоки коричневые (private). Юзать на свой страх и риск. Некоторые вполне стабильные. Некоторые (обычно это не property / invoke) не очень - бывает, что и падает. Скажем так, в продакшен запускать с такими узлами не стоит, а в учебно-образовательных целях юзать можно.Shurik_85 писал(а):Невольно задумываешься, а "засекречены" (спрятаны) свойства потому что, до конца не отлажены (возможны баги при работе) или по каким другим причинам?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 1019 Просмотры
-
Последнее сообщение milakhimov
-
- 3 Ответы
- 790 Просмотры
-
Последнее сообщение Artem.spb
-
- 3 Ответы
- 1729 Просмотры
-
Последнее сообщение Artem.spb