一个关于控制 TrueDBGrid v8.0.20031.300 的 DataView 和 ScrollBars 的简单例子!

playyuer 2003-01-22 08:58:54
v7.0 版本没错!

v8.0.20024.294 控制 DataView 和 ScrollBars 竟然有 Bug,无法控制!

终于:
v8.0.20031.300 又改好了!
效果:
双击改变 DataView => InvertedView
注意改变 Form 大小时,根据 VScrollWidth 控制 ViewColumnWidth!


'Objects: Form1、TDBGrid1
Option Explicit
Private Sub InvertView(TDBGridX As TrueOleDBGrid80.TDBGrid)
If TDBGridX.DataView <> dbgInvertedView Then
TDBGridX.DataView = dbgNormalView
TDBGridX.DataView = dbgInvertedView
Dim adoRecordset As ADODB.Recordset
Set adoRecordset = TDBGrid1.DataSource
adoRecordset.Move 0
AdjustViewColumnAndCaptionWidth TDBGridX
Else
TDBGridX.DataView = dbgGroupView
TDBGridX.ScrollBars = dbgAutomatic
End If
End Sub
Private Sub Form_Load()
TDBGrid1.AboutBox
Dim adoConnection As New ADODB.Connection
Dim adoRecordset As New ADODB.Recordset
'adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=TRIATON\PSQL2KE"
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\NWind2K.mdb;Persist Security Info=False"
adoRecordset.Open "select * from 产品", adoConnection, adOpenKeyset
Set TDBGrid1.DataSource = adoRecordset
TDBGrid1.Splits.Item(0).AllowColMove = True
TDBGrid1.DataView = dbgGroupView
TDBGrid1.Left = 0
TDBGrid1.Top = 0
End Sub
Private Sub Form_Resize()
If Me.WindowState <> vbMinimized Then
TDBGrid1.Width = Me.Width - 120
TDBGrid1.Height = Me.Height - 400
If TDBGrid1.DataView = dbgInvertedView Then
AdjustViewColumnAndCaptionWidth TDBGrid1
End If
End If
End Sub
Private Sub TDBGrid1_ColResize(ByVal ColIndex As Integer, Cancel As Integer)
AdjustViewColumnAndCaptionWidth TDBGrid1
End Sub
Private Sub TDBGrid1_DblClick()
InvertView TDBGrid1
End Sub
Public Sub AdjustViewColumnAndCaptionWidth(TDBGridX As TrueOleDBGrid80.TDBGrid, Optional VScrollWidth1 As Long = 330, Optional VScrollWidth2 As Long = 90)
TDBGrid1.ViewColumnWidth = TDBGrid1.Width - TDBGrid1.ViewColumnCaptionWidth - VBA.IIf(TDBGrid1.VScrollWidth > 0, VScrollWidth1, VScrollWidth2)
End Sub
...全文
46 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wingchi 2003-07-28
  • 打赏
  • 举报
回复
不知道哪里有下载??
http://expert.csdn.net/Expert/topic/2077/2077150.xml?temp=.4442407
wingchi 2003-07-02
  • 打赏
  • 举报
回复
up
strongfisher 2003-07-02
  • 打赏
  • 举报
回复
up
lihonggen0 2003-07-02
  • 打赏
  • 举报
回复
不错!
programart_life 2003-01-23
  • 打赏
  • 举报
回复
这个控件哪儿弄到的?有下载地址没?
最好该控件能提供打印自身表格 以及 相邻的cell如果文本相同则合并cell的功能。

我想自己做个grid。可是我就是对底层的打印控制不好。短期只能借助别人的控件了。

1,451

社区成员

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

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