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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.05.2006, 16:14   #1  
mashaSi is offline
mashaSi
Участник
 
8 / 10 (1) +
Регистрация: 24.05.2006
Помогите разобраться с edit-методом
Я в аксапте новичок помогите плиз...Есть форма на которой два datasoursa... на форме есть grid создаю control IntEdit на grid... проставляю datasourse и datametod
все время скидывает введенное значение и возвращает в 0...
привожу datametod
edit integer emPercent(boolean _set, AL_TCSExecutives _executives, integer _val)
{
int tmp;
if (mapPercent == Null)
{
mapPercent = new map (types::integer, types::Integer);
}
if (_set)
{
tmp = _val;
if (_val)
mapPercent.insert(_executives.RecId, tmp);
else if (mapPercent.exists(_executives.RecId))
mapPercent.remove(tmp);
}
return str2int(mapPercent.definitionString());
}
Старый 24.05.2006, 16:59   #2  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
А зачем Вы в конце метода возвращаете str2int(mapPercent.definitionString())? definitionString() - это ж строка с описанием этого мапа. Соответственно, преобразование этой строки в число даст 0.
А что именно Вам нужно возвращать - посмотрев ваш код, я так не понял. Вы уж опишите задачу поподробнее.
__________________
Андрей.
Старый 24.05.2006, 17:01   #3  
lagr221374
Гость
 
n/a
Цитата:
Сообщение от mashaSi
edit integer emPercent(boolean _set, AL_TCSExecutives _executives, integer _val)
{
int tmp;
if (mapPercent == Null)
{
mapPercent = new map (types::integer, types::Integer);
}
if (_set)
{
tmp = _val;
if (_val)
mapPercent.insert(_executives.RecId, tmp);
else if (mapPercent.exists(_executives.RecId))
mapPercent.remove(tmp);
}
return str2int(mapPercent.definitionString());
}
...
посмотрите что такое MapIterator
...
return str2int(mapPercent.definitionString()); ???

Последний раз редактировалось lagr221374; 24.05.2006 в 17:11.
Старый 24.05.2006, 18:09   #4  
mashaSi is offline
mashaSi
Участник
 
8 / 10 (1) +
Регистрация: 24.05.2006
Спасибо вопрос снят
Спасибо вопрос снят
Старый 08.06.2006, 07:19   #5  
25-17 is offline
25-17
Участник
 
3 / 10 (1) +
Регистрация: 11.01.2006
Цитата:
посмотрите что такое MapIterator
Смысл MapIterator использовать вам же не нужно каждое значение обработать, а если в Мар будет элементов (теоритически) 1000, а в таблице строк 1000, по вашему сколько будет длится цикл по такой Мапе? а ведь edit метод по нескольку раз отрабатывает (можно проверить в edit метод команду print вставить).
проще сделать так:
Код:
edit integer emPercent(boolean _set, AL_TCSExecutives _executives, integer _val)
{
      if (!mapPercent)
      {
             mapPercent = new map (types::integer, types::Integer);
      }
      if (_set && _val)
      {
          mapPercent.insert(_executives.RecId, _val);
      }

      return mapPercent.exists(_executives.RecId) ? mapPercent.lookup(_executives.RecId) : 0;
}

Последний раз редактировалось 25-17; 08.06.2006 в 07:22.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
вопрос про дату в range. помогите разобраться. Hans DAX: Программирование 5 24.04.2007 17:52
Проблема с EDIT методом и гридом Delfins DAX: Программирование 1 23.01.2007 21:36
Проблема с Edit методом PavelSR DAX: Программирование 12 09.06.2006 10:55
Грабли с наследником и edit-методом Wamr DAX: Программирование 5 02.02.2006 18:16
Журналы, пакеты... Помогите разобраться! dmit2604 DAX: Функционал 1 07.05.2002 21:53

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

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

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