对于前者,在滚动条滚动时就是你column变化的时候,这时候你可以根据query的fieldbyname('').asstring知道到了那条记录。

解决方案 »

  1.   

    我想您是误会我的意思了,我的意思是dbgrid滚动条出现时,我能够及时的活的消息,然后执行我的代码。
      

  2.   

    楼上的,人家不是你那意思吧
    可以用记录数来判断,当大于某一个值时就显示滚动条
    用dbgrid的height和每一行的height计算纪录数
      

  3.   

    楼上,你的方法是可行的我其实就是用的这个方法,但是就是怕,如果安装到其他电脑上由于操作系统的不同而出现不同的状况。
    var i,w:integer;
    begin
    w:=0;
    for i:=0 to 2 do
    begin
    w:=w+dbgrid1.Columns[i].Width;
    end;
    if dbgrid1.width-w<34 then
    dbgrid1.Height:=361
    else
    dbgrid1.Height:=345;
    end;
    我想的能不能过的一个现滚动条的消息。
    如果不能就只能用这个不太好的做法
      

  4.   

    不如用StringGrid,把数据读出后转换成string类型,写入StringGrid中,这样滚动条就好控制了!