我有一个包含列表视图,文本框和添加按钮的表单。当我单击添加按钮时,我在文本框中键入的文本将显示到列表视图
我想在单击添加按钮后(在运行时并且不单击列标题)按字母或数字重新排列/排序。
这是我的代码:
Private Sub Add_Click ()
Listview.listitems.add(1).text = text1.text
Listview.listitems.item(1).subitems(1) = text2.text
End Sub
Private Sub Form_Load()
With Listview.columnheaders
.Add, , "Column 1"
.Add, , "Column 2"
End with
End sub
答案 0 :(得分:1)
ListView控件具有Sorted
属性,您应将其设置为True
。您可以使用设计器或使用代码来实现。在这种情况下,您的Form_Load
代码应该是:
Private Sub Form_Load()
With ListView.ColumnHeaders
.Add , , "Column 1"
.Add , , "Column 2"
End With
' This will sort by the first column
ListView.SortKey = 0
' Sort in an ascending order
ListView.SortOrder = lvwAscending
ListView.Sorted = True
End Sub
另外,请注意,添加项目时无需指定索引,因为列表已排序。另请注意,现在添加项目的方式将始终更改第一项的子项目。如果您需要更改最近添加的项目的子项目(即,在同一行的两列中添加项目),您需要将其更改为如下所示:
Private Sub Add_Click()
Dim newItem As ListItem
Set newItem = ListView.ListItems.Add()
newItem.Text = Text1.Text
newItem.SubItems(1) = Text2.Text
End Sub