SOS

各位大虾帮帮忙!
请教一下,在DATAGRID中添加记录,怎样才可以添加记录的时候自动产生一个空行,以便于添加其他记录。暂时我只能设DATAGRID.ALLOWADDNEW属性为TRUE,这样在输完一条数据后必须把光标移开到其他记录上才可以再产生一个新行。本人才疏学浅,实在不知道该怎样才能达到我想要的效果,请各位大虾赐教!感激不尽啊!

解决方案 »

  1.   


    Private Sub Form_Load()
        Dim adoRecordset As ADODB.Recordset
        Set adoRecordset = New ADODB.Recordset
        Dim i As Integer
        For i = 0 To 2 '为Recordset三个字段,即为 DataGrid 添加三列
        adoRecordset.Fields.Append "第" & i & "列", adVariant, adFldMayBeNull, adFldIsNullable + adFldUpdatable
        Next i
        adoRecordset.Open
        For i = 0 To 3
        adoRecordset.AddNew '加四条记录,即为 DataGrid 添加四空行
        Next i
        Set DataGrid1.DataSource = adoRecordset '绑定 DataGrid 的数据源
        adoRecordset.MoveFirst
        DataGrid1.Columns(0).NumberFormat = "long date"
        DataGrid1.Columns(0).Button = True
        
    End Sub
      

  2.   

    谢谢楼上。这段代码我看过了,但与我想要的效果还是不一样。我想实现的效果就象在ACCESS数据库或是SQLSERVER数据库里直接加数据一样输入新数据会自动在最后生成一条空记录。
      

  3.   

    dim rs as new adodb.recordset
    dim conn as new adodb.connection
    dim sql as string
    sql = "select * from **"
    rs.cursorlocation = aduseclient
    rs.open sql,conn,3,3
    set datagrid1.datasource = rs
    rs.addnew
      

  4.   

    我还想问一下,rs.cursorlocation = aduseclient这个属性有什么不良影响。比如:会不会我在这边操作,其他客户端改变了数据,我这边反映不出来?