AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2003, 11:47   #1  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
? Текст FormTreeItem
Добрый день. Вопросы простые, однако...

1)Как программно получить доступ к тексту (метке) листа в элементе TreeControl.
Понятно, что у класса FormTreeItem должен быть метод/свойство, но какое?
Tutorial forms уже смотрел - не нашел там.

2) Для чего предназначены методы FormTreeItem.data и FormTreeItem.text ?

Спасибо за ответы.
Старый 26.05.2003, 11:58   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
В былые времена отправил бы вас на TechNet.... Жаль, что он пока не работает.

1. Примерно так.
PHP код:
FormTreeItem    treeItem;
....
treeItem tree.getItem(idx);
treeItem.text("Текст");
tree.setItem(treeItem); 
2. text - теперь думаю понятно зачем.
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  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
Ещё можете посмотреть для примера форму SysUserGroupSecurity.
__________________
С уважением, Игорь Ласийчук.
Старый 26.05.2003, 12:34   #4  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
Спасибо за ответы
В вопросе я не уточнил, что мне требуется получить значение метки внутри метода FormTreeControl.selectionChanged. В этом случае, вызов text() не работает - возвращается пустая строка.

technet не работает .

Подскажите, как получить текст из FormTreeItem ?
Старый 26.05.2003, 12:49   #5  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Покажите свой код.
Я сейчас попробовал в 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  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
Вот код
сначала в 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  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Урра. Нашел!

Короче, 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  
alpine is offline
alpine
Участник
 
13 / 10 (1) +
Регистрация: 08.02.2002
Адрес: Москва
У меня так:
Если singleSelection = Yes (default), то я по прежнему не вижу текст.
Установил в No - метод стал вызываться 3 раза и в конце третьего текст стал доступен.

Спасибо за идею, Guru!

Может, если поковыряюсь еще, найду причину.
Старый 26.05.2003, 13:12   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Был неправ, выспылил... (с) "Обыкновенное чудо"

На самом деле SingleSelection - не решение. Почему вызывается три раза, можно подумать и понять (кстати, думаю, если выбрать больше одной строчки, вызовется и четыре и пять раз - сразу говорю, что не пробовал).

В selectionChanged действительно передаются какие-то очень усеченные объекты FormTreeItem. Чтобы получить значение поля text приходится делать так:
PHP код:
info(Tree.getItem(_NewItem.idx()).text()); 
а лучше даже так
PHP код:
info(Tree.getItem(Tree.getSelection()).text()); 
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: Мариночка (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Текст проводок по ОС bud DAX: Функционал 5 30.04.2008 16:47
FormTreeItem Damn DAX: Программирование 2 21.11.2003 10:29
Почему обрезается текст в formTreeItem Ruff DAX: Программирование 0 30.10.2003 11:00
Как в Report`е поставить текст вертикально? DNA DAX: Программирование 1 08.09.2003 10:42
Мистика: container в FormTreeItem Антон Солдатов DAX: Программирование 10 03.04.2003 14:07

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:32.