Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > список колонок по которым сортирован DataGridView?


Автор: IApple 17.1.2008, 12:18
Для Forms
DataGridView (DGV) привязан к таблице (T) BindingSource (BS).
Как получить список колонок (DataGridViewColumn) по которым отсортированы данные?

Я пробовал так:
  if (BS.SupportsAdvancedSorting)
      {  
           AL = new ArrayList();
           if (BS.IsSorted)
               {
                for (int i = 0; i < BS.SortDescriptions.Count; i++)
                        {
                            // BS.SortDescriptions[i].PropertyDescriptor.Name - это даёт только строку с именем колонки :(
                            // BS.SortDescriptions[i].SortDirection - это прекрасно подходит

                            // на следующей строке кода выдаёт ошибку: 
                            // 'System.Data.DataColumnPropertyDescriptor' is inaccessible due to its protection level

                            DataGridViewColumn X = ((DataColumnPropertyDescriptor)BS.SortDescriptions[i].PropertyDescriptor.Column);
                            AL.Add(X);
                        }
                }
      }
Спасайте...

Автор: tol05 17.1.2008, 14:19
а BS.SortedColumn не подходит?

Автор: IApple 17.1.2008, 16:05
Цитата(tol05 @ 17.1.2008,  14:19)
а BS.SortedColumn не подходит?

Не подходит. BS.SortedColumn - это ОДНА колонка, меня интересуют также случаи когда сортировано по более чем одной колонке (по всем, к примеру  smile )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)