2013-04-11 221 views
0

我有一个名为“位置”的列作为字符串出现在数据表中。我使用DataTable.Select来获取数据行的列表。将数据表/数据行[]列从字符串转换为int

DataRow[] drTopMenu = dtMenuItems.Select("ParentMenuID is null", "Position asc"); 

然而,位置是1,2,...,9,10和数据行阵列自带分类为1,10,2,3,...,9。 如何解决这个?有没有一种方法可以在过滤/排序之前将“位置”列的数据类型从字符串更改为int?

回答

1

不确定效率,并假定位置列将始终包含一个int。

DataRow[] drTopMenu = dtMenuItems 
       .Select("ParentMenuID is null") 
       .OrderBy(x => int.Parse((string)x["Position"])) 
       .ToArray(); 
相关问题