大家要帮我!我愿出200分。 请帮我看看这个问题,好吗?(一定给分)

fredlin 2003-10-19 11:04:25
http://www.vbprobe.com/club/dispbbs.asp?boardID=30&ID=32984

这里可以帖了图片的效果,请各位多多帮忙。

关于 Ture dbgird . 用MSFlexGrid等实现也可c
...全文
37 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
fredlin 2003-10-22
  • 打赏
  • 举报
回复
用 分层数据集的方法, 过段时间再将它做出来.

谢谢 bdhh(Silent)
fredlin 2003-10-22
  • 打赏
  • 举报
回复
好了, 我基本实现效果,昨晚上做的,方法主要是是 kinlin(小林)提供的 .rowheight = 0....
vb情报局的一版主就提供了 带区的方法. 根据MSDN完成不了.....
没办法先这样用着.

谢谢各位!
另外100分给kinlin的.谢谢
http://expert.csdn.net/Expert/topic/2382/2382415.xml?temp=.5810663
kinlin 2003-10-22
  • 打赏
  • 举报
回复
你也可以用划分带区的方法,我觉的一定非常方便可我不会用
Me.MSHFlexGrid1.ExpandAll
Me.MSHFlexGrid1.CollapseAll
kinlin 2003-10-22
  • 打赏
  • 举报
回复
展开
Dim row1 As Long
Dim str1 As String
Dim i As Long
str1 = Me.MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)
For i = MSHFlexGrid1.Row To 0 Step -1
If MSHFlexGrid1.TextMatrix(i, 0) <> str1 Then
row1 = i + 1
Exit For
End If
Next i
For i = row1 + 1 To Me.MSHFlexGrid1.Rows - 1
If MSHFlexGrid1.TextMatrix(i, 0) = str1 Then
MSHFlexGrid1.RowHeight(i) = 0
Else
Exit For
End If
Next i
收缩
For i = Me.MSHFlexGrid1.Row + 1 To Me.MSHFlexGrid1.Rows - 1
If Me.MSHFlexGrid1.RowHeight(i) = 0 Then
Me.MSHFlexGrid1.RowHeight(i) = 255
Else
Exit For
End If
Next i
如果你在MSHFlexGrid的最后一行之下双击也会触发DblClick事件而且选中行为最后一行,没关系你可以让最后一行为空,然后让MSHFlexGrid1.RowHeight(MSHFlexGrid1.Rows - 1) = 0
yijiansong 2003-10-22
  • 打赏
  • 举报
回复
UP
Lionking1027 2003-10-22
  • 打赏
  • 举报
回复
UP
胖河马 2003-10-22
  • 打赏
  • 举报
回复
http://www.microsoft.com/china/msdn/technic/develop/ado.asp
看看 分层目录结构指针和数据成形 那部分对你有没有用
作出来的结果就是这样 http://www.microsoft.com/china/msdn/technic/develop/Image36.gif
yoki 2003-10-21
  • 打赏
  • 举报
回复
用vsflexgrid一天就可学会哦 :)
所以改用vsflexgrid吧
fredlin 2003-10-21
  • 打赏
  • 举报
回复
to qqyy_sj(♀天地无邪):
我想要学TDBGrid.怕是太迟了.有人说用TDBGrid我一个月也未必做的出来.
在MSFlexGrid中 "收缩"时 可以用 .removeitem 做.
1)但"展开"怎么做? .additem ?? 可以插入就好,而不是 add
2)合并后,判断 某个字段 占了 多少格.怎么做? 再用个循环?
to watt(瓦特)
我看过7.0自带的例子, 没有这种效果?
wxrwan 2003-10-21
  • 打赏
  • 举报
回复
up
kmzs 2003-10-21
  • 打赏
  • 举报
回复
zhichi
fredlin 2003-10-21
  • 打赏
  • 举报
回复
to yoki(小马哥)
VSFlexGrid是 tree+grid的形式吧, 我看过例子里的。 不合适。

to kinlin(小林)
你的这种思想可行哦。MSHFlexGrid1.RowHeight(3) = 0

合并为什么还要判断 某个字段 占了 多少格?
我不判断占了几行, 我又怎么样设哪几行的”行高“为0呢?

再有: 做双击后执行 .RowHeight(i) = 0 这行步怎么做,没有相应的事件呢?
用什么方法代替
kinlin 2003-10-21
  • 打赏
  • 举报
回复
收缩让行高为0 放开行高复原
MSHFlexGrid1.RowHeight(3) = 0
合并为什么还要判断 某个字段 占了 多少格?
hhjjhjhj 2003-10-20
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=2371492
守城小轩 2003-10-20
  • 打赏
  • 举报
回复
MSFlexGrid合并单元
Private Sub Form_Load()
MSHFlexGrid1.MergeCells = flexMergeRestrictRows
MSHFlexGrid1.MergeCol(0) = True
MSHFlexGrid1.MergeCol(1) = True
End Sub
MSFlexGrid设置各别字段颜色
Private Sub mColor_Click() ' 命令
For I = 1 To MSHFlexGrid1.Rows - 1
MSHFlexGrid1.Row = I
MSHFlexGrid1.Col = 3
If MSHFlexGrid1.Text > 0 Then
MSHFlexGrid1.CellForeColor = vbRed ' 红色
MSHFlexGrid1.Col = 2
MSHFlexGrid1.CellForeColor = vbRed
ElseIf MSHFlexGrid1.Text < 0 Then
MSHFlexGrid1.CellForeColor = vbGreen ' 绿色
MSHFlexGrid1.Col = 2
MSHFlexGrid1.CellForeColor = vbGreen
End If
Next
End Sub
守城小轩 2003-10-20
  • 打赏
  • 举报
回复
不过TDBGird我现在没有了!
用MSFlexGrid应该也可以的!
守城小轩 2003-10-20
  • 打赏
  • 举报
回复
TDBGird应该能实现,以前好象做过类似的!
leo4587 2003-10-20
  • 打赏
  • 举报
回复
用dategrid 控件可一試
CloudWater 2003-10-20
  • 打赏
  • 举报
回复
Data Widgets 的SSDBGRID控件可以实现,http://www.shersoft.com
watt 2003-10-20
  • 打赏
  • 举报
回复
Ture dbgird
安装后带的例子里面好象就有这个。
加载更多回复(1)

1,451

社区成员

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

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