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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.03.2003, 12:04   #1  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
? Как подсчитать сумму по гриду?
Есть ли возможность "пройтись" по гриду?
Как отловить момент изменения записей в гриде (modified не совсем подходит - не реагирует на изменение линков)?

Заранее спасибо.
Старый 17.03.2003, 12:30   #3  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Re: Как подсчитать сумму по гриду?
Цитата:
Изначально опубликовано Ned
Есть ли возможность "пройтись" по гриду?
Нужно идти не по гриду, а по FormDataSource. Грид - элемент интерфейса, который отображает данные, имеющиеся в FormDataSource. FDS - по сути прослойка между БД и интерфейсом. У FDS есть методы first и next. Скорее всего, они дублируют аналогичные методы на queryRun, который есть у FormDataSource, но это тебе не важно.

Цитата:
Изначально опубликовано Ned
Как отловить момент изменения записей в гриде (modified не совсем подходит - не реагирует на изменение линков)?
Не знал о таком эффекте. Можно поподробнее? Что есть "линк" в твоем понимании. Какой (на каком объекте) modified ты перекрываешь? На сколько я могу догадываться о твоей задаче - тебе нужно перекрывать modified на конкретном поле в FormDataSource.

Удачи.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 17.03.2003, 12:31   #4  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
пройтись по "гриду" можно примерно так :
while (myGridDataSource_QR.next())
{
......
}
вот только зачем ?
напиши подробнее что именно тебе надо ? какая задача ?
__________________
С уважением, Вячеслав.
Старый 17.03.2003, 12:51   #5  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Интересуют два момента:
1. Суммирование данных по какому-либо полю
2. Проверка корректности данных в строках таблицы в случае если таблица временная

По поводу while (myGridDataSource_QR.next()):
Будет ли отличаться этот вариант от while (myGridDataSource_DS.next())?
Не может ли повлиять такой перебор на отображение данных (смена активной строки в гриде и т.п.).
Старый 17.03.2003, 13:09   #6  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано Ned

По поводу while (myGridDataSource_QR.next()):
Будет ли отличаться этот вариант от while (myGridDataSource_DS.next())?
Не может ли повлиять такой перебор на отображение данных (смена активной строки в гриде и т.п.).
вот точно повлияет
а ты сделай так QueryRun queryRun = myGridDataSource_QR;
while (queryRun.next())
{..
}
__________________
С уважением, Вячеслав.
Старый 17.03.2003, 13:57   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
вот точно повлияет
а ты сделай так QueryRun queryRun = myGridDataSource_QR;
while (queryRun.next())
и получишь все тоже самое
а вот так, есть шанс сохранить положение курсора
PHP код:
QueryRun queryRun = new QueryRun(myGridDataSource_QR.query());
MyTmpTable  _myTmpTable;
;

_myTmpTable.setTmpData(myGridDataSource_DS.cursor());
queryRun.setCursor(_myTmpTable);
while (
queryRun.next()) 
Старый 17.03.2003, 13:58   #8  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Ну да?!

Я думаю:
QueryRun queryRun = myGridDataSource_QR;
while (queryRun.next())
Будет эквивалентно:
while (myGridDataSource_QR.next())

Может быть имеет смысл сделать через
Query query = new Query(myGridDataSource_QR.query();
QueryRun queryRun = query.queryRun();
Старый 17.03.2003, 14:11   #9  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
Цитата:
Изначально опубликовано Wamr

PHP код:
MyTmpTable  _myTmpTable;
;

_myTmpTable.setTmpData(myGridDataSource_DS.cursor()); 
Интересно, жизненен ли такой код:
PHP код:
InventTable    tmpInventTable;

tmpInventTable.setTMP();
tmpInventTable.setTmpData(InventTable_ds.cursor()); 
попадут ли в этом случае во временную таблицу только записи с учётом рэнжей и линков?
Старый 17.03.2003, 15:04   #10  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Изначально опубликовано Ned
Ну да?!

Я думаю:
QueryRun queryRun = myGridDataSource_QR;
while (queryRun.next())
Будет эквивалентно:
while (myGridDataSource_QR.next())

Может быть имеет смысл сделать через
Query query = new Query(myGridDataSource_QR.query();
QueryRun queryRun = query.queryRun();
согласен = погорячился

QueryRun queryRun = new QueryRun(myGridDataSource_QR.query());
;
while (queryRun.next())
...
__________________
С уважением, Вячеслав.
Старый 17.03.2003, 16:07   #11  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Цитата:
tmpInventTable.setTMP();
tmpInventTable.setTmpData(InventTable_ds.cursor());
--------------------------------------------------------------------------------
попадут ли в этом случае во временную таблицу только записи с учётом рэнжей и линков?
сомневаюсь, что вообще что-то попадет

Цитата:
Есть ли возможность "пройтись" по гриду?
Как отловить момент изменения записей в гриде (modified не совсем подходит - не реагирует на изменение линков)?
Если вопросы еще актуальны, то может быть их как-дь перефразировать, чтобы было понятно о чем и зачем?
Старый 17.03.2003, 16:17   #12  
Ned is offline
Ned
Lean Six Sigma
 
680 / 99 (5) ++++
Регистрация: 29.12.2002
Адрес: самолёт
to Wamr.
Большое спасибо, тот вопрос давно решил (подсказками тоже воспользовался, за что и спасибо ).
Назревает интересный вопрос по поводу выдернуть из квери отфильтрованный курсор, но сейчас задач много - не успеваю реагировать на форум.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
как подсчитать баланс по клиенту kitty DAX: Программирование 2 27.02.2008 17:38
Нужно подсчитать количество записей во всех таблицах Аксапты? Hidden DAX: Программирование 7 11.11.2005 15:20
Как программно вычислить сумму налогов по закупке? sao DAX: Программирование 9 15.07.2005 19:01
Метод класса, возвращающий сумму налога. 2.5SP5 studentLPC DAX: Программирование 2 25.07.2003 12:21
Как в grid подсчитать сумму по полю и показать ее (с учетом фильтра)? edd DAX: Программирование 5 06.02.2003 20:10

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

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

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