如果我有一个列表框,说lstABC有3列A,b& C。 并且有3个排序按钮,例如btnSortA,btnSortB,btnSortC。 有没有办法在按钮上使用on_click事件,允许用户在不改变lstABC.rowsource的情况下对lstABC进行排序?
我试图通过以下方式实现目标:
Private sub btnSortA_Click()
lstABC.Orderby = "ColumnA ASC"
me.lstABC.OrderByOn = True
End Sub
当然我可以构建SQL字符串并设置/重新查询lstABC.rowsource = string(对于每个按钮),但我正在寻找一些简单而有效的东西,而不是过于复杂的东西。感谢
答案 0 :(得分:1)
在我看来,你不能简单地改变行源。您还可以阅读列表框中的所有行,并使用bla.html
seo/bla-bla.html
以正确的顺序重新插入所有行...
.addItem
您只需添加点击事件:
Private Sub sortListbox(criteria As String)
Dim strSQL As String
strSQL = "SELECT A,B,C FROM TableName" _
& " ORDER BY " & criteria
Me.yourListboxController.RowSource = strSQL
Me.yourListboxController.Requery
End Sub
我认为你不能比那更简单。