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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.09.2015, 17:22   #1  
syl is offline
syl
Участник
Аватар для syl
 
236 / 21 (1) +++
Регистрация: 10.06.2015
Адрес: Киев
Обновление грида на форме
Есть на форме 2 грида.
В первой заголовки LedgerJournalTable, во второй строки LedgerJournalTrans.
В каждом гриде присутствует checkbox(edit method)

Для LedgerJournalTrans
X++:
edit boolean Copy(boolean _set, LedgerJournalTrans _LJT, boolean _mark)
{
    if (_set)
    {
        if(!_mark)
        {
            if(paMarked.exists(_LJT.RecId))
            {
                paMarked.remove(_LJT.RecId);
            }
        }
        else
        {
            paMarked.insert(_LJT.RecId, _LJT.DocumentNum);
        }
    }
    return paMarked.exists(_LJT.RecId);
}
Для LedgerJournalTable
X++:
edit boolean CopyLines(boolean _set, LedgerJournalTable _LJT, boolean _mark)
{
    Query q;
    QueryRun queryRun;
    QueryBuildDataSource qbLJT;
    QueryBuildDataSource qbLJTT;
    LedgerJournalTrans ljt;
    boolean ret;

    q = new Query();

    qbLJT = q.addDataSource(tablenum(LedgerJournalTable));
    qbLJT.relations(true);
    qbLJTT = qbLJT.addDataSource(tablenum(LedgerJournalTrans));
    qbLJTT.relations(true);
    qbLJT.addRange(fieldnum(LedgerJournalTable, RecId)).value(SysQuery::value(_LJT.RecId));

    queryRun = new QueryRun(q);
    while(queryRun.next())
    {
        ljt = queryRun.get(tableNum(LedgerJournalTrans));
        ret = LedgerJournalTrans_ds.Copy(_set, ljt, _mark);    
    }
    LedgerJournalTrans_ds.refresh();
    return ret;
}
Во втором методе мне нужно проставить галки в гриде для LedgerJournalTrans. Для отображения я попробовал использовать LedgerJournalTrans_ds.refresh();, что существенно замедлило работу (хотя и не критично). Проблема в том что при таком подходе отображается галка только на первой строке, если строк больше чем одна, то что бы увидеть галки, надо либо вручную обновить грид (F5) либо переключиться на другую запись. Насколько я понимаю данный подход не совсем правильный. Подскажите как поступить в данном случае?

Последний раз редактировалось syl; 11.09.2015 в 17:33.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Более одного грида на форме - активное выделение TasmanianDevil DAX: Прочие вопросы 1 29.01.2013 09:43
Обновление записи на форме Katuxa DAX: Программирование 6 15.08.2011 08:35
Периодическое обновление строк в форме DreamCreator DAX: Программирование 6 15.05.2011 17:51
Обновление detail-таблицы DreamCreator DAX: Программирование 1 05.04.2005 15:57
Про два грида на одной форме YVAS DAX: Программирование 4 01.08.2003 10:53

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

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

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