问题1:我想用datagrid把一个2维数组里的信息显示出来  应该怎么办 
问题2:datagrid没绑定数据库的情况下 我想把一变量的值赋给datagrid的某行某列 应该怎么办

解决方案 »

  1.   

    对于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
       
       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
      

  2.   

    建议你使用msflexgrid控件,它能很好地解决你以上的两个问题,而且很灵活,使用起来比较方便