对于datagrid一个基本原则,也是它使用的实质是,它不是网格控件,你可以理解成为一个虚拟控件。它的数据不是读进它的本身,这和msflexgrid等控件是有差别,所以msflexgrid这些控件你可以指定列和行去写入数据。datagrid的使用必须依靠Recordset,所以你必须去制造一个recordset出来 很简单。看下面的示范Option ExplicitPublic Rs As New ADODB.Recordset Public Conn As New ADODB.ConnectionPrivate Sub Form_Load() Dim i As Integer '设置3列
For i = 0 To 2 Rs.Fields.Append i, adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable Next i
很简单。看下面的示范Option ExplicitPublic Rs As New ADODB.Recordset
Public Conn As New ADODB.ConnectionPrivate Sub Form_Load()
Dim i As Integer
'设置3列
For i = 0 To 2
Rs.Fields.Append i, adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
Next i
Rs.Open
Rs.AddNew
'把aaa.bbb.cc替换成你的二维数组就是你的问题1了
Rs(0) = "aaa"
Rs(1) = "bbb"
Rs(2) = "ccc"
Set Me.DataGrid1.DataSource = Rs
End Sub'设置第4行第2列为hello
Private Sub Command1_Click()
Dim i As Integer
' If Rs.RecordCount < 4 Then
' Rs.AddNew
' End If
Dim j As Integer
'缺几笔记录补充几笔
j = 4 - Rs.RecordCount
For i = 1 To j
Rs.AddNew
Next i
'设置第2列相当设置第2个字段,所以是
Rs(1) = "hello"
End Sub