如何在表格内实现固定列?例如编号列不随滚动条而移动

wanfye 2003-08-22 09:49:07
以前看到过,有默认的固定列,如用户需要,在某列上右击,选择“固定该列”,就可固定任意列,但一个表内只有一个固定列,
以前的贴子没找到相关的答案
多谢帮忙!
...全文
194 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
to wanfye(小胖) :

你可以试试我你给你写的程序段
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
to wanfye(小胖) :

就象我给你写的程序一样,

你的姓名列为哪一列,就Fixed哪一列

象这样:

MSHFlexGrid1.FixedCols = 2


我的程序就是这样的

射天狼 2003-08-22
  • 打赏
  • 举报
回复
可以用两个控件,把姓名放在一个控件里,其他列放到另一个控件里,可以实现你说的这种效果,一个控件好像实现起来有点困难.
wanfye 2003-08-22
  • 打赏
  • 举报
回复
以前看过用VB的实现
可当初没好好看看是怎么做的
后悔
wanfye 2003-08-22
  • 打赏
  • 举报
回复
看来是我表达的不对
我的意思是:
一表如下
编号 姓名 年龄 职务 ............................备注
1 A 21 001
2 B 34 021

若表的项目很多,自然会有左右的滚动条,可我想在左右滚动的时候定住姓名一列不滚动
例如滚到备注列的时候,同时也能看到姓名列
是一个很实用的功能

好像用友的表格就有这个功能
wanfye 2003-08-22
  • 打赏
  • 举报
回复
你用的是msflexgrid还是vsflexgrid. 如果是前者,可能无法解决,因为msflexgrid是vsflexgrid的简版,有很多很有用的东西都被去掉了. 如果是vsflexgrid,那么非常容易解决,只需设置一个属性即可
liul17 2003-08-22
  • 打赏
  • 举报
回复
使用Msflexgrid控件
将下面代码粘入窗体中(画上msflexgrid和commandbutton)即可看到结果

此固定列只能实现从左至右固定,不能随意指定,若想实现需要通过拖拽

Option Explicit

Private Sub Command1_Click()
With grd
.FixedRows = 1 '固定行数
.FixedCols = 2 '固定列数
End With
End Sub

Private Sub Form_Load()

With grd
.Cols = 15
.Rows = 10

End With
End Sub

lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
Private Sub Form_Load()
MSHFlexGrid1.Cols = 8
MSHFlexGrid1.Rows = 8
MSHFlexGrid1.FixedCols = 0
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.FixedCols = 2
For i = 1 To 7
For j = 1 To 7
MSHFlexGrid1.TextMatrix(i, j) = j
Next
Next
End Sub
lihonggen0 2003-08-22
  • 打赏
  • 举报
回复
MSHFlexGrid1.FixedCols = 0
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.FixedCols = 2
wanfye 2003-08-22
  • 打赏
  • 举报
回复
MSHFlexGrid1.FixedCols = 0
MSHFlexGrid1.FixedCols = 1
MSHFlexGrid1.FixedCols = 4

这样的话前4列都被固定了,不好吧

只希望固定指定的某一列

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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