Сетка DevEx GetSelectedRows () с примененным фильтром - PullRequest
0 голосов
/ 06 марта 2012

У меня проблема с получением выбранных строк (GetSelectedRows ()) в сетке DevEx при применении фильтра. Кажется, что GetSelectedRows возвращает позицию в сетке с фильтром, а не фактический дескриптор строки в источнике данных.

var rowHandles = gridView.GetSelectedRows();
var count = rowHandles.Length;
for (int indx = count-1; indx >= 0; indx-- )
{
     if (rowHandles[indx] >= 0)
     {
          if (ServiceProxy.Instance.IsAlive(CommandNames.Delete))
              ((IList<ISymbolFieldInfo>)_staticPriceConfigurationBindingListUser).RemoveAt(rowHandles[indx]);
          }
     }
}

Может кто-нибудь сказать мне, что я здесь делаю неправильно. Я ожидаю, что GetSelectedRows () вернет маркеры точных строк из сетки, а не с примененным фильтром.

Спасибо

1 Ответ

0 голосов
/ 07 марта 2012

Я считаю, что ваше предположение неверно.Документация DevX гласит: «Поскольку дескрипторы строк отражают порядок, в котором строки отображаются в представлении, изменение одной строки может повлиять на дескрипторы следующих строк, если данные отсортированы и / или отфильтрованы».

НадеюсьНе думаю, что ваш метод удаления строк в этом цикле будет безопасным, поскольку каждый раз, когда вы это делаете, дескрипторы строк могут меняться.Обзор выбора в элементе управления сеткой можно найти здесь

...