Сохраняет ли DataView.ToTable() порядок сортировки по убыванию?

У меня проблема с сортировкой DataTable. Я использую DataView.Sort, а затем DataView.ToTable(), чтобы получить отсортированную таблицу. Затем я просматриваю таблицу построчно и создаю узлы в TreeView, который отображается в настольном приложении.

Моя проблема в том, что я могу сортировать данные в порядке возрастания, и они правильно отображаются в TreeView, но когда я использую тот же механизм сортировки, но просто меняю порядок на убывающий, он не работает.

Но возможно проблема кроется в функции DataView.ToTable. Сохраняется ли это в порядке убывания или мне нужно исправить это самостоятельно, когда я создаю узлы в своем TreeView, проходя DataRows в обратном порядке?

Надеясь, что кто-то это знает.


person Community    schedule 02.07.2009    source источник


Ответы (2)


Я нашел ответ на свою проблему!

Проблема заключалась только в том, что я выполнил сортировку по двум столбцам, например: «Столбец A, Столбец B, DESC», и до сих пор я не осознавал, что часть «DESC» будет применяться только ко второму столбцу. - Глупо с моей стороны.

Но все равно спасибо за ответ. Я буду использовать этот подход при переходе через DataView.

/Илва

person Community    schedule 03.07.2009

Почему вы не используете DataView для повторения строк? Из вашего вопроса я не вижу необходимости копировать отсортированное содержимое из одной таблицы в другую. Помните, что представление данных — это просто отсортированное и отфильтрованное табличное представление.

Итак, вы должны написать что-то вроде этого:

foreach (DataRow NextDataRow in DataView)

вместо

foreach (DataRow NextDataRow in DataTable.Rows)
person arbiter    schedule 02.07.2009