26.05.2003, 11:47 | #1 |
Участник
|
Текст FormTreeItem
Добрый день. Вопросы простые, однако...
1)Как программно получить доступ к тексту (метке) листа в элементе TreeControl. Понятно, что у класса FormTreeItem должен быть метод/свойство, но какое? Tutorial forms уже смотрел - не нашел там. 2) Для чего предназначены методы FormTreeItem.data и FormTreeItem.text ? Спасибо за ответы. |
|
26.05.2003, 11:58 | #2 |
Administrator
|
В былые времена отправил бы вас на TechNet.... Жаль, что он пока не работает.
1. Примерно так. PHP код:
data - произвольные данные, которые программист хочет прицепить к элементу дерева. Если Вы программировали в Delphi или VB - это аналог тамошнего поля tag.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Alte Fritz (1). |
26.05.2003, 12:01 | #3 |
NavAx
|
Ещё можете посмотреть для примера форму SysUserGroupSecurity.
__________________
С уважением, Игорь Ласийчук. |
|
26.05.2003, 12:34 | #4 |
Участник
|
Спасибо за ответы
В вопросе я не уточнил, что мне требуется получить значение метки внутри метода FormTreeControl.selectionChanged. В этом случае, вызов text() не работает - возвращается пустая строка. technet не работает . Подскажите, как получить текст из FormTreeItem ? |
|
26.05.2003, 12:49 | #5 |
Administrator
|
Покажите свой код.
Я сейчас попробовал в tutorial_FormTreeControl. В целом работает. Правда selectionChanged вызывается по три раза, и вот с третьего-то раза значение text оказывается заполненным. Судя по всему, первый раз selectionChanged вызывается, когда сброшено выделение, а последний - когда оно окончательно установлено. Промежуточный вызов мне пока непонятен.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.05.2003, 12:56 | #6 |
Участник
|
Вот код
сначала в init формы заполняется дерево с помощью процедур, аналогичных parentItemIdx = SysFormTreeControl::addTreeItem(formTreeControl, 'ЙЙЙ', FormTreeAdd::Root, 'R_ЦЦЦ', imageRes, true); Все ОК! Потом для formTreeControl создается public void selectionChanged(FormTreeItem _OldItem, FormTreeItem _NewItem, FormTreeSelect _how) { super(_OldItem, _NewItem, _how); print Int2str(_NewItem.idx()); // этот print выводит номер print _NewItem.text(); // этот print выводит пустую строку } |
|
26.05.2003, 12:57 | #7 |
Administrator
|
Урра. Нашел!
Короче, selectionChanged вызывается три раза, если у FormTreeControl свойство singleSelection выставленно в No. Если разрешено выбирать только один элемент дерева, selectionChanged вызывается один раз и все поля у oldItem и newItem прекрасно заполнены. Если вы используете множественный выбор, стоит подумать о том, какие строки и в какой момент нужно получать (скорее всего, selectionChanged - не лучший вариант).
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
26.05.2003, 13:05 | #8 |
Участник
|
У меня так:
Если singleSelection = Yes (default), то я по прежнему не вижу текст. Установил в No - метод стал вызываться 3 раза и в конце третьего текст стал доступен. Спасибо за идею, Guru! Может, если поковыряюсь еще, найду причину. |
|
26.05.2003, 13:12 | #9 |
Administrator
|
Был неправ, выспылил... (с) "Обыкновенное чудо"
На самом деле SingleSelection - не решение. Почему вызывается три раза, можно подумать и понять (кстати, думаю, если выбрать больше одной строчки, вызовется и четыре и пять раз - сразу говорю, что не пробовал). В selectionChanged действительно передаются какие-то очень усеченные объекты FormTreeItem. Чтобы получить значение поля text приходится делать так: PHP код:
PHP код:
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Мариночка (1). |
|
Похожие темы | ||||
Тема | Ответов | |||
Текст проводок по ОС | 5 | |||
FormTreeItem | 2 | |||
Почему обрезается текст в formTreeItem | 0 | |||
Как в Report`е поставить текст вертикально? | 1 | |||
Мистика: container в FormTreeItem | 10 |
|