For j = 0 To DataGrid1.ApproxCount - 1
DataGrid1.Row = j
For i = 0 To DataGrid1.Columns.Count - 1
 Text1.Text = Text1.Text + DataGrid1.Columns(i).Value
 Next i
 Next j
为什么又会报行号无效的?

解决方案 »

  1.   

    Text1.Text = Text1.Text + DataGrid1.Columns(i).Value 错了。
      

  2.   

    为什么只取当前表格内的各列值,而不是取datagrid的所有行的值?
    DataGrid1.ApproxCount是近似表示窗口内的行数,并不精确
      

  3.   

    1、VB6 DataGrid本身不能精确统计总行数和总列数(它没有.rows和.cols属性)
    2、VB6 DataGrid本身只能精确统计可见行和可见列(.VisibleRows、.VisibleCols)
    3、ApproxCount 属性,返回在网格中的行号的近似值,并不是总行数.
    4、要想不出错是:
    For j = 0 To 500'已知总行数
    不是
     For j = 0 To DataGrid1.ApproxCount - 1
      

  4.   


    DataGrid 的行、列指的都是可见行列。它的操作方式不能像 FlexGrid 那样。一般来说,用代码对数据做处理,可以直接通过它所绑定的记录集来进行。
      

  5.   

    你好,那么我如果我得到的rs的行数来代替DataGrid1.ApproxCount,行不行呢?
      

  6.   

    如果你的datagrid是与rs绑定的,你可以用rs的总记录数-1来做datagrid的总行数
    For j = 0 To rs.RecordCount-1