DataTable 中varchar 转换为 Double 后重新 排序。
DataTable 查询出某个字段为varchar 类型的。不过里面存的为数字,需要进行排序。可是如果直接排序就会不对。因为为varchar类型的,需要转换一下。
方法一:
dt.Columns.Add("iPersonOrderSort", System.Type.GetType("System.Double"));
dt.Columns["iPersonOrderSort"].Expression = "Convert(tagvalue,'System.Double') ";
DataView dv = new DataView(dt);
dv.Sort = " iPersonOrderSort asc";//排序先转换为DataView,排序才能好使
DataTable dtTempType =dv.ToTable();
方法二:
在SQL语句筛选的时候多加一列,用于排序。
例如:
select Percent as strPercent,cast(Percent as int) as intPercent
from Table.
那么在DataSet中会自动生成一列intPercent为int的.
在DataView.SortExpression = "intPercent "; //而不是 "strPercent ";