Показать сообщение отдельно
Старый 21.11.2008, 14:13   #17  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
?
Сидел, медитировал над формой tutorial_Form_DisplayOptions, но так и не понял как решить мою задачу.

Есть форма с набором строк. По окончанию некой операции нужно что бы некоторые строки поменяли цвет. Пишу следующий код:

X++:
void doRefresh(container    _packedProcessSetUnion)
{
    SetEnumerator   enumerator = Set::create(_packedProcessSetUnion).getEnumerator();
    ;
 
    while (enumerator.moveNext())
    {
        Table_ds.clearDisplayOption(Table::findRecId(enumerator.current()));
        Table_ds.refreshEx(-1);
    }
 
}
Увы, результата ноль. В процессе медитации над «тюторилом» углядел единственное отличие моего кода от их:

X++:
 for (common = custTable_ds.getFirst(); common; common = custTable_ds.getNext())
        {
            custTable_ds.clearDisplayOption( common );
        }
        custTable_ds.refreshEx(-1);
    }
На сколько я понял, они полностью перебирают источник данных, в моем случае записей будет очень много. В таком случае вопрос, что будет хуже при большом кол-ве записей, подход реализованный в примере или executeQuery, затем findRecord(что бы вернуться на запись на которой находился пользователь до запуска процедуры) ?