【发布时间】:2018-09-20 10:51:24
【问题描述】:
谁能告诉我使用VB6对由键设置的动态(键,字符串)进行排序的最佳方法是什么。
我曾尝试使用 VBA.collections 和 2D 数组。但他们似乎有一个很大的解决方法来进行排序。
我还尝试了MSComctlLib.ListView 中提到的stackoverflow question.
Dim lvSelectedStyles As MSComctlLib.ListView
Dim listItem As MSComctlLib.listItem
'Some code here
lvSelectedStyles.ListItems.Add Key:=CStr(lngCount) Text:=objParagraph.Key
但是添加此项目会给出错误消息“未设置对象或块变量”。如果我能完成这个,我可以按列对列表视图进行排序并继续前进。
谁能告诉我一个克服这个问题的方法,或者如果你有任何其他方法可以做到这一点,请告诉我。
谢谢。
【问题讨论】:
-
您是否使用
Set来新建lvSelectedStyles? -
我试过了,但是设置 lvSelectedStyles = New ... vb 在这里没有给出建议 MSComctlLib.ListView。我被卡住了。
-
似乎无法使用 New 创建 ListView,因此我看到了几个选项:首先,您可以将 ListView 拖放到隐藏表单上。其次,您可以使用 Dictionary 并编写一些自定义代码对其进行排序。本网站和其他网站上有示例。
-
@BrianMStafford 我在我的表单中创建了一个列表视图(不可见)并使用 listview.sort ,我现在可以按照我的意愿进行排序。谢谢。
-
可以使用 .NET 框架集合创建一个 VB (.NET) 或 C# 类,并从 VB6 访问该类。但这可能不是最方便/直接的方法。
标签: vb6