关于DBGrid 的一个简单问题。 
问题是这样的:在我写的一个程序当中,如果DBGrid 中数据超过一屏,并且当前
窗口最大化,这时用鼠标拉动滚动条拉到最底,便报错“Grid index out of range”
这是怎么回事?怎样解决?

解决方案 »

  1.   

    是你写的程序出错  
    dbgrid行和列都是从0开始的,你程序中肯定有对行和列数据的处理,如果你查出的数据有10条记录,那你最大行就是9,自己查查代码吧Grid index out of range就是行或列的下标超出范围的意思
      

  2.   

    你是不是在程序中有这个判断 
    if (!adoquery->Eof) then
      

  3.   

    你一定是在做程序中引用dbgrid的索引出错了,可以选跟踪试一次看一看,哪里用这个了,然后把dbgrid用的索引,改为数据记录的或是采用别的做索引。
      

  4.   

    我只是简单的引用了数据源,然后用 "adoquery" open了一下。
    并且只有窗口最大化时拉动滚动条拉到最底才会出错,平时不会。
    如果报过错,不刷新的话(就是 close 再 open 一下)就不会报错了,
    程序照样运行。
    谁来救我。55555.....
      

  5.   

    问题已解决,散分。
    解决方法:将DBgrid 换成 TDBGridEh 问题消除。