Vb.net 按列类型字符串作为整数的(DataRow的)订单列表,VB

Vb.net 按列类型字符串作为整数的(DataRow的)订单列表,VB,vb.net,list,Vb.net,List,我有一个列表(数据行)(包含的每一行都来自同一个表) 每行都包含.item(“number”)作为字符串。 此项表示一个编号 我需要的是一个快速函数,按.item(“number”)升序对列表中的行进行排序(1->2->3->4->5) 编辑以下是我对此问题的回答!(哇,问题真多.) 基本上这就是我所拥有的。 我通过阅读第三方应用程序的数据库获得上述信息。我的任务是按照用户在提到的第三方工具中设置的顺序将它们放入一个漂亮的单词表中。 LocationID属于grpID,因此在相同的Datatab

我有一个
列表(数据行)
(包含的每一行都来自同一个表)

每行都包含
.item(“number”)
作为
字符串。
此项表示一个
编号

我需要的是一个快速函数,
.item(“number”)
升序对列表中的行进行排序(1->2->3->4->5)

编辑以下是我对此问题的回答!(哇,问题真多.)

基本上这就是我所拥有的。 我通过阅读第三方应用程序的数据库获得上述信息。我的任务是按照用户在提到的第三方工具中设置的顺序将它们放入一个漂亮的单词表中。
LocationID
属于
grpID
,因此在相同的
Datatable
中存在组内行的特定顺序。 我能够在正确的组中排序
DataRows
。为了解决将行放入组中正确位置的问题,我通过编程将组中的所有行放入
列表(数据行)
,该列表被放入
列表(数据行列表))
一旦我在
列表中正确排序了所有行
我将在
数据表中对它们重新排序

编辑 我最终自己找到了一个解决方案,使用了一个附加的列,包含以下内容(以文本形式描述)


主要it尝试按grp排序,当同一组中有多行时,它按newColumn排序。

我想知道,当您可以在
数据表中轻松操作它们时,为什么它们会在
列表(T)
中。给定名为
行列表的列表

rowList = rowList.OrderBy(Function(q) q.Item("number")).ToList

我试图解释为什么不使用数据表。解释在问题的底部。我希望我能以一种可以理解的方式解释它。我要试试这个函数。你能给我解释一下下面的部分到底是做什么的吗
(Function(q)q.Item(“number”))
。这似乎是将列排序为字符串。我需要将其排序为整数。还有一个问题我还没有提到;DBNull必须以某种方式进行处理,我认为您需要使用datatable。datatable列可以按所需类型强制转换,即integer列是必需的。然后,您可以根据需要进行排序、筛选等操作。使用datatable,您可以指定OrderBy grpID、LocationID,以便按grpID对数据进行排序,如果您有许多数据,则按LocationID对其进行排序。感谢您的回复,正如您在问题中看到的,它已经解决了。
 Try to put CInt(LocationID) -> if Catch happens (DBNULL): Put 999
 After thats done: Use DataView to Order DataTable by grpID, newColumn
rowList = rowList.OrderBy(Function(q) q.Item("number")).ToList