如何才能使DBGrid的前若干列固定不动
编号:QA002848
建立日期: 2000年4月13日 最后修改日期:2000年4月13日
所属类别:
leon:
操作系统: pwin97
编程工具: vb5.0
问题: 我是一个VB爱好者,在实际编程中,我经常使用VB中的DBGrid控件,也经常觉得DBGrid控件的布局不太令人满意,不如MsFlexGrid控件好用,因为 MsFlexGrid控件能定义前几列在拖动水平滚动条时不可移动,这在对字段较多的数据库操作时非常好用,可以在主要字段固定的情况下编辑记录,在这点上MsFlexGrid就比DBGrid功能强,但MsFlexGrid不能进行数据库锁定和动态编辑。请问如何才能使DBGrid的前若干列固定不动,是否要建立一个新的控件。请尽快答复为盼!
回答:
DBGrid也有锁定列的功能,只是用法比较奇怪。DBGrid可以使用Split对象将一个表分割成两个完全相同的部分。我们可以将左边的一个只显示几个固定列,而右边的那个显示其余列。下面是一个小例子。
Private Sub Form_Load()
' Hide all columns in Splits(1) except for columns 0 and 1
Data1.Refresh
DBGrid1.Splits.Add 0
Dim Cols As Columns
Set Cols = DBGrid1.Splits(0).Columns
For Each C In Cols
C.Visible = False
Next C
Cols(0).Visible = True
Cols(1).Visible = True
' Configure Splits(1) to display exactly two columns, and
' disable resizing
With DBGrid1.Splits(0)
.SizeMode = dbgNumberOfColumns
.Size = 2
.AllowSizing = False
End With
' Set columns 0 and 1 invisible in other splits (Splits 0 and 2)
Set Cols = DBGrid1.Splits(1).Columns
Cols(0).Visible = False
Cols(1).Visible = False
End Sub
此问题由李海回答。
| |
|
|
| |
|
|