Предположим, что у меня есть следующие значения в столбце в DataTable
120,00
200,00
201,00
12510,00
При сортировке их в ASC ORDER
я всегда получаю 12510,00
сверху, а оставшиеся сортировки - отлично. Любое предложение?
Я предполагаю, что это строковый столбец, вы должны заполнить его правильным типом. Если это невозможно, вы можете использовать decimal.Parse
, например:
tbl = tbl.AsEnumerable()
.OrderBy(row => decimal.Parse(row.Field<string>("ColumnName")))
.CopyToDataTable();
Вам нужно добавить using System.Linq
.
Если вы используете другой десятичный разделитель, вы можете использовать decimal.Parse(row.Field<string>("ColumnName"), new CultureInfo("de-DE"))
.