数据库比较大,所以每次按表头用SQL语句排序比较慢,但是用LISTVIEW自身的SORT也不行,它是以字符串来排序的而不是数字,所以会出现99.20>986.20, -1.4>0.0 的情况,有何方法解决?
解决方案 »
- 学习vb有和建议?
- 用vb写了一个dll用来读取硬盘号,在asp中调用的问题
- 电脑系统问题,求助!
- 高价求助计算机的毕业论文
- 关于图片移动的菜鸟问题
- 请教那里有WISE INSTALL教程下载
- 哪里可以下载DirectX8的SDK? 最好是中文的
- ezVidCap 控件哪里有?
- 谁能解释一下DataEnvironment的用法,如何动态设置参数?
- 关于类的问题。我做了一个类。是关于数据库的,浏览好用。但是添加数据就不好用。来看看吧。对你有帮助的。
- 对于增加和修改记录的窗体,记录集应该定义成窗体级的,还是应该定义成按钮级的呀?哪种生命期比较合理?
- 求Sn=a+aa+aaa+…+aaa…a(n个a)之值
我遇到了解决的就是改SQL重加载但速度 .... 嗷嗷慢
LVTest.SortKey = ColumnHeader.Index - 1
Dim i As Integer
For i = 1 To LVTest.ColumnHeaders.Count
LVTest.ColumnHeaders(i).Icon = None
Next i
If LVTest.SortOrder = lvwAscending Then
ColumnHeader.Icon = 1
LVTest.SortOrder = lvwDescending
Else
ColumnHeader.Icon = 2
LVTest.SortOrder = lvwAscending
End If
End Sub
MSN:[email protected]
For lngIndex = 1 To lvwlist.ListItems.Count
lvwlist.ListItems(lngIndex).SubItems(ColumnHeader.Index - 1) = Format(lvwlist.ListItems(lngIndex).SubItems(ColumnHeader.Index - 1), "000000000000")
Next
End If
With lvwlist
If (ColumnHeader.Index - 1) = .SortKey Then
.SortOrder = (.SortOrder + 1) Mod 2
Else
.Sorted = False
.SortOrder = 0
.SortKey = ColumnHeader.Index - 1
.Sorted = True
End If
End With
然后,再处理排序方式
用其他的方法会因为有时多列都是数字的时候代码烦琐代码:
之前添加数据过程 filldata 也编好
public rs as adodb.recordset
public conn as adodb.connection
strsql 由colheaders_click 的事件里传入
sql语句中加入 order by to_number(字段名)
sub Order(byval strsql as string)
set rs=conn.execute(strsql)
call filldata
end sub