在我的VB.NET程序中,我使用的是Devexpress TreeList v9.2。当我运行程序时,我从存储过程填充TreeList。
当我在SQL Management Studio中运行SQL过程时,我的数据以我想要的方式返回。例如
然而,当我运行程序并使用与存储过程相同的结果填充TreeList时,我得到了:
你知道我可能做错了吗?
修改
我的存储过程中有'order by'。这就是我在SQL Management Studio中运行存储过程时获得正确顺序的原因。订单通过将数字分解为子串(因为它们也可以包含字母),因此它似乎按数字排序。不知怎的,它似乎是TreeList将它作为字符串而不是保留原始排序顺序。
修改
我创建了另一个包含数字数据的列,所以当我按照此列对表进行排序时,我的数据会看起来像我想要的那样。但即使我在属性中发送了SortOrder,它也不会排序,即使在运行时网格的标题中出现了小三角形。
解决:
我通过致电:
解决了这个问题tree.columns("colName").SortIndex
tree.columns("colName").SortOrder = SortOrder.Ascending
答案 0 :(得分:1)
treeList的列绑定到字符串字段。在这种情况下,treeList认为此列包含字符串值并将它们排序为字符串。要更改此行为,请使用XtraTreeList提供的Custom Sorting方法。