【发布时间】:2014-10-26 02:59:56
【问题描述】:
假设我在DataTable 的列中有以下值
120,00
200,00
201,00
12510,00
在ASC ORDER 中对它们进行排序时,我总是将12510,00 放在最前面,而其余排序则非常好。有什么建议吗?
【问题讨论】:
标签: c# asp.net sorting datatable
假设我在DataTable 的列中有以下值
120,00
200,00
201,00
12510,00
在ASC ORDER 中对它们进行排序时,我总是将12510,00 放在最前面,而其余排序则非常好。有什么建议吗?
【问题讨论】:
标签: c# asp.net sorting datatable
我假设它是一个字符串列,你应该用正确的类型填充它。如果这不可行,您可以使用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"))。
【讨论】: