vb MSHFlexGrid如何实现这样的效果

yizhixxxxx 2010-06-28 11:23:10


如何固定最底下一行,滚动条拉动的时候,还显示固定的一行

...全文
1020 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
jarvis_hjm 2012-04-10
  • 打赏
  • 举报
回复
用两个控件问题是如何实现列宽的同步
ldy888 2010-06-30
  • 打赏
  • 举报
回复
猴哥的方法果然很好,收藏了
yizhixx 2010-06-30
  • 打赏
  • 举报
回复
太激动了.
yizhixx 2010-06-30
  • 打赏
  • 举报
回复
哇,11楼猴哥太强了... 77分是你的了.
ldy888 2010-06-30
  • 打赏
  • 举报
回复
这个象吧

孤独剑_LPZ 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yizhixx 的回复:]
引用 2 楼 asftrhgjhkjlkttttttt 的回复:
用2个MSHFlexGrid实现,下面的MSHFlexGrid只显示合计值

最头痛的事,如何使两个MSHFlexGrid表格对齐????????????
[/Quote]
这个问题很简单,第二个MSHFlexGrid对应的列宽可以指定,也可以指定表结构同第一个MSHFlexGrid的,只不过记录为空而已.如下边所示,表中的id不可能>90000000,实现结构一样却没有数据,再并上一条合计数据,合计值可以实现计算好替换了即可
rs.Open "select 字段1,字段2,字段3 from biao where id>90000000 union select '合计',100,300 ", db, adOpenKeyset, adLockOptimistic
MSHFlexGrid1.DataSource = rs
就lz的这个问题而言,还可以只用一个MSHFlexGrid控件,sql语句照样union一条合计数据即可
proer9988 2010-06-30
  • 打赏
  • 举报
回复
人家要的是能固定这一行的。
bcrun 2010-06-30
  • 打赏
  • 举报
回复
楼主人那个截图中的表格是用什么控件做的?
lb_bn 2010-06-30
  • 打赏
  • 举报
回复
学习,谢谢分享。
chinaboyzyq 2010-06-30
  • 打赏
  • 举报
回复
为你做了个mshflexgrid的最底一行固定行的例子,复制了去测试一下,可以举一反三的再增加功能。

Dim h As Integer

Private Sub Form_Load()

With MSHFlexGrid1
.Rows = 14: .Cols = 8
.Move 0, 0

Dim i As Integer, j As Integer, he As String, r As Integer, N As Integer
.FixedCols = 1: .FixedRows = 1
he = "|^xxx1|^xxx2|^xxx3|^xxx4|^xxx5|^xxx6|^xxx7|^xxx8"
.FormatString = he
.RowHeight(-1) = 400: .ColWidth(-1) = 800: .ColWidth(0) = 200
.Height = .RowHeight(1) * 5 + 290 + 20
.Width = .ColWidth(1) * (.Cols - 2) + 490

For i = 1 To .Rows - 2
For j = 1 To .Cols - 1
If j = 1 Then
.TextMatrix(i, j) = "name" & i
Else
.TextMatrix(i, j) = i + j
End If
Next
Next
.Row = i: .Col = 1: .Text = "合计"
For j = 1 To .Cols - 1
If j > 1 Then
For r = 1 To .Rows - 2
N = N + .TextMatrix(r, j)
Next
.TextMatrix(r, j) = N
End If
.Col = j: .CellAlignment = 4
.CellBackColor = &H80FFFF:
Next
.RowPosition(i) = (.Height - 290) \ .RowHeight(1) - 1
h = (.Height - 290) \ .RowHeight(1) - 1
End With


End Sub

Private Sub MSHFlexGrid1_Scroll()
With MSHFlexGrid1
.RowPosition(h) = .TopRow + 3
h = .TopRow + 3
End With

End Sub

tuo_li 2010-06-30
  • 打赏
  • 举报
回复
顶 学习一下
chinaboyzyq 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 yizhixxxxx 的回复:]
如何固定最底下一行,滚动条拉动的时候,还显示固定的一行
[/Quote]

为你做了个mshflexgrid的最底一行固定行的例子,复制了去测试一下,可以举一反三的再增加功能。

Private Sub Form_Load()

With MSHFlexGrid1
.Rows = 14: .Cols = 8
.Move 0, 0

Dim i As Integer, j As Integer, he As String, r As Integer, N As Integer
.FixedCols = 1: .FixedRows = 1
he = "|^xxx1|^xxx2|^xxx3|^xxx4|^xxx5|^xxx6|^xxx7|^xxx8"
.FormatString = he
.RowHeight(-1) = 400: .ColWidth(-1) = 800: .ColWidth(0) = 200
.Height = .RowHeight(1) * 5 + 290 + 20
.Width = .ColWidth(1) * (.Cols - 2) + 490

For i = 1 To .Rows - 2
For j = 1 To .Cols - 1
If j = 1 Then
.TextMatrix(i, j) = "name" & i
Else
.TextMatrix(i, j) = i + j
End If
Next
Next
.Row = i: .Col = 1: .Text = "合计"
For j = 1 To .Cols - 1
If j > 1 Then
For r = 1 To .Rows - 2
N = N + .TextMatrix(r, j)
Next
.TextMatrix(r, j) = N
End If
.Col = j: .CellAlignment = 4
.CellBackColor = &H80FFFF:
Next
.RowPosition(i) = (.Height - 290) \ .RowHeight(1) - 1
h = (.Height - 290) \ .RowHeight(1) - 1
End With


End Sub

Private Sub MSHFlexGrid1_Scroll()
With MSHFlexGrid1
.RowPosition(h) = .TopRow + 3
h = .TopRow + 3
End With

End Sub

lds1ove 2010-06-29
  • 打赏
  • 举报
回复
一般都用两个..
熊孩子开学喽 2010-06-29
  • 打赏
  • 举报
回复
可以使用单元格合并来实现, 欠缺的只是行首的固定格无法变成普通单元格的颜色, 当然可以通过指定该行首个单元格的背景色和普通单元格一样来实现
孤独剑_LPZ 2010-06-29
  • 打赏
  • 举报
回复
用2个MSHFlexGrid实现,下面的MSHFlexGrid只显示合计值
yizhixx 2010-06-29
  • 打赏
  • 举报
回复
因这这个网站是我做的.
ning1958 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 yizhixxxxx 的回复:]
如何固定最底下一行,滚动条拉动的时候,还显示固定的一行
[/Quote]
关注这个帖子.
另外对你帖图比较感兴趣.http://www.2ylighting.com/About.asp这是灯具厂的网站,你如何传上去的.因为,我发帖子需要有贴图,不好解决,比较头疼.
  • 打赏
  • 举报
回复
简单说吧, msf和mshf都不行。
有别的开发的可以,如vsf
guyehanxinlei 2010-06-29
  • 打赏
  • 举报
回复
vsflex Grid可以实现,不过需要收费
yizhixx 2010-06-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 asftrhgjhkjlkttttttt 的回复:]
用2个MSHFlexGrid实现,下面的MSHFlexGrid只显示合计值
[/Quote]


最头痛的事,如何使两个MSHFlexGrid表格对齐????????????

7,765

社区成员

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

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