2014-09-01 92 views
1

假如我有一列中的下列值DataTable问题排序的DataTable C#

120,00 
200,00 
201,00 
12510,00 

分拣他们ASC ORDER我总是在上面得到12510,00和其余排序完美的罚款。任何建议?

回答

2

我认为这是一个字符串列,你应该填写正确的类型。如果这是不可能的,你可以使用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"))

+0

完美工作。谢谢 – confusedMind 2014-09-01 22:02:17