上次问了个问题,没什么结果...
http://community.csdn.net/Expert/topic/5270/5270490.xml?temp=9.704226E-02
有人总是把DBGrid当成DataGrid...这两个是不同的控件...
目前的问题是:
DBGrid只可以取得当前显示的row...比如当前有60行内容,但因为高度问题,只可以显示20行,要查看剩下的内容,用滚动条可以查得到
但是, 使用DBGrid.row=row在row<=20时,可以取得所在行的内容,但当row>20时,语句就会出错...
查了些资料,说是DBGrid本身的问题...不要使用其它控件,因为这是在别人的程序上做修改...

解决方案 »

  1.   

    请各位大侠帮忙看看,这个控件要怎样才可以使用?
    使用DBGrid.Scroll又更新不了.... 真奇怪...
      

  2.   

    呵呵...是可以换的...
    但目前是假定使用DBGrid,而不使用datagrid
      

  3.   

    你这个问题今仔细调试,发现它与DBGrid1的属性RowHeight和其属性Row+2的乘积同其属性Height 基本相等.并不是只可以显示20行.有两种方法来解决:
    1)调整DBGrid的属性RowHeight值:
    Private Sub Form_Load()
    DBGrid1.RowHeight = 200
    End Sub
    在上述情况下,如DBGrid1.Height为12615,可用DBGrid1.Row=62 查询到记录,即第二63条记录.
    2)先将Data控件移到最后一个数据,然后往前查,但注意不要使用其属性Row来移动记录,可能不能取得Row的正确值.
    确实VB6以后使用ADO数据控件较DATA控件有较大改进.建议改用ADO数据控件和DATAGRID控件.或者调低DBGrid1.RowHeight值,加大DBGrid1.Height值来解决问题.