0

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

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

但是,位置是 1、2、...、9、10,数据行数组排序为 1、10、2、3、...、9。我该如何解决这个问题?有没有办法在过滤/排序之前将“位置”列的数据类型从字符串更改为整数?

4

1 回答 1

1

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

DataRow[] drTopMenu = dtMenuItems
                .Select("ParentMenuID is null")
                .OrderBy(x => int.Parse((string)x["Position"]))
                .ToArray();
于 2013-04-11T20:55:25.253 回答