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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2004, 20:55   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Есть два варианта.

Первый:
PHP код:
void clicked()
{
    
InventTrans InventTransDB InventTrans::findTransId("л00000268");
    
InventTrans InventTransDS;
    ;
    
super();

    
InventTransDS InventTrans_ds.getFirst(0false);

    while (
InventTransDS.RecId != InventTransDB.RecId &&
           
InventTransDS) {
        
InventTransDS InventTrans_ds.getNext();
    }

    if (
InventTransDS)
        
InventTrans_ds.findRecord(InventTransDB);
    else {
        
InventTrans_ds.create(true);
        
InventTrans_ds.cursor().data(InventTransDB);
        
InventTrans_ds.setCurrent();
    }

Здесь сначала происходит поиск среди записей, уже загруженных в displayCache. Если нужной записи не находится, в FormDataSource создается новая строка и заполняется данными из необходимой записи.

Плюс подхода в том, что видны записи, уже имеющиеся в displayCache, а к ним добавляется только нужная запись. Минус - если просмотреть dataSource до конца, в displayCache появится две одинаковых записи, и, соответственно, в Grid тоже будет две одинаковых записи, что вводит в заблуждение.

Второй вариант:
PHP код:
void clicked()
{
    
InventTrans InventTransDB InventTrans::findTransId("л00000268");
    ;
    
super();

    
select InventTrans where InventTrans.RecId == InventTransDB.RecId;

Плюсы подхода в отсутствии минусов предыдущего. Минусы - целиком перезаписывается displayCache. Причем в него заносится только одна запись.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
ax3.0, курсор, позиционирование, программно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axStart: Change data on a data source on a Form Blog bot DAX Blogs 0 04.09.2008 15:05
Инициализация записи из курсора в форме andy239 DAX: Программирование 5 16.08.2005 15:00
Что сделать, чтобы связанные Data Source обновились? Maxim Gorbunov DAX: Программирование 4 11.04.2005 17:40
Использование View как Data Source или Нормализация Базы Знаний в Axapta rohlenko DAX: Программирование 15 17.02.2005 14:00
Позиционирование курсора на конкретной записи в DataSource на форме Anton Sk. DAX: База знаний и проекты 1 19.07.2004 17:14
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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