Показать сообщение отдельно
Старый 05.02.2009, 18:16   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Приходилось решать задачку в подобной не-БэстПрактисной постановке. Решением, конечно, не горжусь, но оно как-то работает и выручает. Сделал примерно так:
X++:
FormDataSource  formDataSource;
Common          common;
int             i;
 .............
// неявный цикл по строкам грида (явный - по датасорсу)
i = 0;
for ( common = formDataSource.getFirst() ? formDataSource.getFirst() : formDataSource.cursor();
      common ;
      common = formDataSource.getNext() )
{
    if (i==0)
        formDataSource.first();
    else
        formDataSource.next();

    // bla-bla-bla

    formDataSource.write();

    formDataSource.reread();
    formDataSource.refresh();

    i++;
}
P.S. Упс! Про выделенные речь? Для них не сработает по понятным причинам
P.P.S. Если только не попробовать быстренько отфильтровать выделенные записи (чтобы в гриде остались только они), пробежаться по ним, восстановить фильтрацию перед пробежкой и восстановить выделение... (не более, чем на уровне реплики мозгового штурма)
За это сообщение автора поблагодарили: propeller (1).