Я получаю коллекцию записей в DataTable и привязываю ее к элементу управления сеткой. Прежде чем привязать его, я сортирую данные на основе нескольких условий. Для краткости я объясню тестовый сценарий.DataTable - Dynamic Linq OrderBy с использованием выражений Lambda
У меня есть два поля Категория и страна. Я хочу сначала отсортировать записи по категориям, а затем по странам. Но улов здесь - это то, что я хочу довести все значения пустой категории до конца, а затем сортировать в соответствии с алфавитным порядком.
Для этого я делаю -
var rows = dt.AsEnumerable()
.OrderBy(r => string.IsNullOrEmpty(Convert.ToString(r["Category"]))) //push empty values to bottom
.ThenBy(r => Convert.ToString(r["Category"]))
.ThenBy(r => Convert.ToString(r["Country"]))
Но теперь, поля, на основании которых мне нужно разобраться, является динамическим, который я имею в массиве.
Как я могу использовать лямбда-выражения для динамического упорядочивания записей на основе полей? (нажатие пустых значений до конца)
Perfect. Я пробовал это уже, но по какой-то причине я получал ошибку sytax рядом с ThenBy. Теперь все в порядке. – NLV