如何动态增加DATAGRID的行数???
   在DATAGRID里输入入数据,每行在结尾的时候按回车就会增加一个新行,但是如果第一行的记录如果不全按回车就需要无响应,第二行的:编号=第一行编号+1  
   DATAgrid.GetBook(0)   '这个可以得到行号
   
   请问如何得到列号?  
   如何定位到一个单元格按回车触发一个事件?
   如何设定哪个单元格取得焦点?   此问题困扰本人NNN天,始终无法解决,请高手指教,请附上关键的几行代码说明,非常感谢!!!

解决方案 »

  1.   

    请问如何得到列号?
    DataGrid1.Columns.Item(0).Caption
    这个是第一个列的列名
    DataGrid1.Columns.Item(1).Caption
    这个是第二个列的列名
    .
    .
      

  2.   

    Dim rsManualStock As New adodb.Recordset
    Dim IfAddNew As Boolean '标出rsManualStock有没有增加一个空白行
    Private Sub Form_Load()
      rsManualStock.Fields.Append "aaa", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "bbb", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "ccc", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "ddd", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "eee", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "fff", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Fields.Append "ggg", adVariant, , adFldMayBeNull + adFldIsNullable + adFldUpdatable
      rsManualStock.Open
      rsManualStock.AddNew
      Set DataGrid1.DataSource = rsManualStock
    End Sub
    Private Sub DataGrid1_AfterColEdit(ByVal ColIndex As Integer)
       For I = 0 To rsManualStock.Fields.Count - 1
           DataGrid1.Col = I
           If Trim(DataGrid1.Text) = "" Then
              Exit Sub
           End If
       Next I
          If rsManualStock.AbsolutePosition = rsManualStock.RecordCount Then 
            rsManualStock.AddNew
            DataGrid1.Refresh
       End If
    End Sub
    感觉你界面要求还不够严密,他是根据你recordset的记录的值来变动的,你所说那种编号,其实就是对第一列的值的控制
    我上面的代码是用来控制当用户输入的到所有列的都不为空(因为所有资料都不允许为空的)再点击其他格的时候就会自动产生一行新行.每个人需求不一样,做法都不一样.熟悉datagrid的属性方法事件就好办了,多点尝试