将datatable / datarow []列从string转换为int

时间:2013-04-11 20:36:01

标签: asp.net asp.net-3.5

我有一个数据表,其中一个名为“position”的列以字符串形式出现。我使用DataTable.Select来获取数据行列表。

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

然而,位置是1,2,...,9,10,数据行数组排序为1,10,2,3,...,9。 我怎样才能解决这个问题?有没有办法在过滤/排序之前将“位置”列的数据类型从字符串更改为int?

1 个答案:

答案 0 :(得分:1)

不确定效率,这假设位置列始终包含int。

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