如何使单击msflexgrid表头时排序

s6w6k 2003-03-24 04:46:02
如何在单击msflexgrid的某一列表头时,让此列数据排序??
请给代码,谢谢!!
...全文
127 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧