在我的 VB.NET 程序中,我使用的是 Devexpress TreeList v9.2。当我运行程序时,我从存储过程中填充 TreeList。
当我在 SQL Management Studio 中运行 SQL 过程时,我的数据会以我想要的方式返回。例如
- 3
- 6
- 33
- 42
- 54
- 206
- 226
- 733
- 6633
然而,当我运行程序并用存储过程中的相同结果填充 TreeList 时,我得到:
- 206
- 226
- 3
- 33
- 42
- 54
- 6
- 6633
- 733
你知道我可能做错了什么吗?
编辑:
我的存储过程中确实有一个“order by”。这就是为什么我在 SQL Management Studio 中运行存储过程时得到正确顺序的原因。order by 将数字分解为子字符串(因为它们也可以包含字母),因此它看起来是按数字排序的。不知何故,TreeList 似乎将其作为字符串使用,而不是保持原始排序顺序。
编辑:
我创建了另一个包含数字数据的列,所以当我按此列对表格进行排序时,我的数据会看起来像我想要的那样。但是,即使我在属性中发送了 SortOrder,即使运行时小三角形出现在网格的标题中,它也不会排序。
解决了:
我通过调用解决了这个问题:
- 树.beginSort()
- 将 sortindex 设置为我要排序的列为 0,将其他列设置为 -1:
tree.columns("colName").SortIndex
- 将我的列的排序顺序设置为升序:
tree.columns("colName").SortOrder = SortOrder.Ascending
- 树.endsort()