У нас есть два столбца в DataTable
, вот так:
COL1 COL2
Abc 5
Def 8
Ghi 3
Мы пытаемся отсортировать это datatable
по COL2
убыванию.
COL1 COL2
ghi 8
abc 4
def 3
jkl 1
Мы попробовали это:
ft.DefaultView.Sort = "COL2 desc";
ft = ft.DefaultView.ToTable(true);
но, не используя a DataView
, мы хотим отсортировать DataTable
себя, а не DataView
.
Это поможет вам ...
источник
Его простое использование. Выберите функцию.
И это сделано ...... Happy Coding
источник
Select("", "CompanyName ASC")
.Может быть, следующее может помочь:
Здесь вы также можете использовать другие запросы лямбда-выражений.
источник
Вы пытались использовать
Select(filterExpression, sortOrder)
метод DataTable? Смотрите здесь для примера. Обратите внимание, что этот метод не будет сортировать таблицу данных на месте, если это то, что вы ищете, но он будет возвращать отсортированный массив строк без использования представления данных.источник
Или, если вы можете использовать
DataGridView
, вы можете просто позвонитьSort(column, direction)
:Что даст вам желаемый результат:
источник
источник
Есть 2 способа сортировки данных
1) сортировка только данных и заполнение в сетке:
2) сортировать представление по умолчанию, подобное сортировке с заголовком столбца сетки:
источник
DataRow[] rows = dt.Rows.Cast<DataRow>().OrderBy(row => row.Field<string>("FIELD_NAME"), MyCustomComparer.Instance).ToArray();
Оказывается, есть особый случай, когда этого можно достичь. Хитрость заключается в том, что при построении DataTable собрать все строки в списке, отсортировать их, а затем добавить их. Этот случай только что пришел сюда.
источник
//Надеюсь, что это поможет вам..
источник
TL; DR
использовать
tableObject.Select(queryExpression, sortOrderExpression)
для выбора данных в отсортированном видеПолный пример
Полный рабочий пример - можно протестировать в консольном приложении :
Вывод
источник
попробуй это:
источник
DataTable sortedDT = new DataTable()
. 2) Вы должны использоватьImportRow
(вы не можете добавить строку из другой таблицы)