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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2003, 13:38   #1  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
? FormTreeDatasource
Я что-то не пойму FormTreeDatasource строит дерево только если Id и ParentId строковые? Как заставить его работать с целочисленными идентификаторами?
Падает на строке
criteriaParentId.value(_ParentValue); //QueryBuildRange criteriaParentId
с ошибкой "метод value вызван с неправильными параметрами".
Смотрю описание QueryBuildRange.value - оно вроде со строковыми значениями работает, а у нас то получается _ParentValue integer...
Старый 01.10.2003, 13:41   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Посмотри Tutorial_Form_TreeDatasource
Старый 01.10.2003, 13:44   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Насчет целочисленных идентификаторов - насколько я помню - нельзя. Хотя можно реализовать свой аналог этого класса, работающий с нужными типами.
Старый 01.10.2003, 13:53   #4  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Цитата:
Изначально опубликовано Андре
Посмотри Tutorial_Form_TreeDatasource
Дык, оттуда и начал - там строковые идентификаторы.
Старый 01.10.2003, 14:49   #5  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
QueryBuildRange
Все смешалось в доме Облонских

Падает QueryBuildRange, который не имеет никакого отношения к FormTreeControl.
пользуйте универсальную форму
QueryBuildRange.value(queryValue(что-то очень нужное));
Старый 01.10.2003, 15:01   #6  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Может я не так понял вопрос, но приведенный код содержится в классе FormTreeDatasource:

PHP код:
  if (_ParentValue)
        
criteriaParentId.value(_ParentValue);
    else
        
criteriaParentId.value(strFmt('"%1"',queryValue(_ParentValue))); 
Wamr, Вы написали FormTreeControl - это описка ?

Цитата:
пользуйте универсальную форму
То есть либо модификация FormTreeDatasource, либо создание его наследника. Так ?
Старый 01.10.2003, 15:38   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
ИЗВИНИТЕ
Я поторопился

Но все-равно надо код менять
очевидно, имелось ввиду что-то типа
if(typeOf(_ParentValue) == Types::STRING)
Старый 01.10.2003, 15:55   #8  
TravellerInTime is offline
TravellerInTime
Участник
Аватар для TravellerInTime
 
130 / 36 (2) +++
Регистрация: 14.07.2003
Адрес: Россия, Тула
Re: ИЗВИНИТЕ
Цитата:
Изначально опубликовано Wamr
Но все-равно надо код менять
очевидно, имелось ввиду что-то типа
if(typeOf(_ParentValue) == Types::STRING)
Не уверен, что именно это имелось ввиду. Там скорее всего стоит проверка на нулевые значения.

Я изменил
criteriaParentId.value(_ParentValue);
на
criteriaParentId.value(queryValue(_ParentValue));
и все заработало, и в случае строковых идентификаторов, и в случае целочисленных.

2Андре. Именно об этом классе и идет речь.
 


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

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

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