如何使单击msflexgrid表头时排序

s6w6k 2003-03-24 04:46:02
如何在单击msflexgrid的某一列表头时,让此列数据排序??
请给代码,谢谢!!
...全文
48 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
s6w6k 2003-03-31
谢谢朋友们!!
我又有新的问题提出,也在数据库栏,希望大家帮助!!
回复
s6w6k 2003-03-28
minajo21的方法:
1. mfg1.Col = mfg1.MouseCol 此句,常出现mfg1.Col实际的得数
mf为“mfg1.MouseCol+1”,我将其改为:m=mfg1.mousecol
mfg1.col=m
就能排序。
2.单击某一列,正常排序,(在此列后,单击某一列,也能正常排序),但,
在此列(此列为d,刚排序)前,单击某一列(此列为b),就不能排序,mfg1.mousecol的值仍为上次
的值,mfg1.mousecol的值没有改变!请问如何解决??

回复
chenyu5188 2003-03-25
同意楼上两位的方法。
回复
jintianatxd 2003-03-25
除了楼上的,也可以用recordset(field).sort 来对recordset 排序,然后 msflexgrid.reflash 就行了
回复
2sword 2003-03-24
在FLEXGRID的Click事件中加入:
if HFlex.mouserow=0 then
hflex.sort=1
endif
回复
minajo21 2003-03-24
当然,你也可以用SQL语句来重新打开记录集,重新填充表格
回复
minajo21 2003-03-24
'其中select case 是根据内容的类型来排序
Private Sub mfg1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If y < mfg1.CellHeight Then
mfg1.Row = 0

mfg1.Col = mfg1.MouseCol
Select Case mfg1.Col
Case 1, 2, 3
mfg1.Sort = flexSortNumericAscending
Case 4
mfg1.Sort = flexSortGenericAscending
End Select
End If
End Sub
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-03-24 04:46
社区公告
暂无公告