如何让StringGrid中的数据与AdoQuery的记录集保持同步?
要求:
在StringGrid中移动行,AdoQuery中移动到相应的记录集,
在StringGrid中删除行记录、修改更新行记录时,AdoQuery相应地作删除,更新到数据库表。我是一个业余的程序爱好者,我提的问题一直都没有得到很好的解决,呼吁CSDNer们给予点点爱心与帮助,好不?拜托了!!!===========================================================
原贴:
http://community.csdn.net/Expert/topic/5007/5007710.xml?temp=.5364038
DBGrid默认时是数据集中有多少条记录才显示多少行,比如有3条记录就显示3行出来,我想至少显示出10行的网格,行吗?假如数据集中有3行数据,那么DBGrid从第4行开始至第10行的网格是空白的,我想操作的用户能直接在DBGrid中输入数据,比如从第4行至第6行的空白网格中用户输入了数据,最后按保存就一起POST,当数据超出了10行后,用户在DBGrid中最后一行输入数据时,要产生下一行空白行,要让用户能在前一行输入完后,能有空白的行插入鼠标点继续输入.(意思即是其实用户每次都是在倒数第二行输入数据)有办法吗?或者其它的GRID控件可实现?
===========================================================

解决方案 »

  1.   

    用ADOQuery.RecNo := StringGrid.RecNo
      

  2.   

    TO:sdzbbz
    用ADOQuery.RecNo := StringGrid.RecNo
    ==========================
    当点击StringGrid中的某列标题,如果我对StringGrid中的某列进行了排序操作?这个可不就产生问题了吗?原本我是想用DBGrid实现这个功能的,可是原贴中的回答者都说,使用DBGrid无法实现我想要的功能,现在只有被迫使用StringGrid来实现了!
      

  3.   

    楼上说的不错,楼主用EhLib都自带了排序等你要的功能..
      

  4.   

    TO:楼上的两位
    EhLib是否真的能实现我想要的功能?DBGrid默认时是数据集中有多少条记录才显示多少行,比如有3条记录就显示3行出来,我想至少显示出10行的网格,行吗?假如数据集中有3行数据,那么DBGrid从第4行开始至第10行的网格是空白的,我想操作的用户能直接在DBGrid中输入数据,比如从第4行至第6行的空白网格中用户输入了数据,最后按保存就一起POST,当数据超出了10行后,用户在DBGrid中最后一行输入数据时,要产生下一行空白行,要让用户能在前一行输入完后,能有空白的行插入鼠标点继续输入.(意思即是其实用户每次都是在倒数第二行输入数据)
      

  5.   

    wow..wow..怎么会是这样的结果呢?
    没办法解决我的问题吗?
      

  6.   

    这个问题很简单1、如果后台数据修改了,直接刷新StringGrid
    2、前台数据更新,保存即可,定位数据方式为
       ADO.RecNo = StringGrid.Row
       ADO.Fields.Field[X] = String.Col
       当然,列的定位可以自己保存一个变量即可,除非把ADO的所有列都弄到GRID中,保存只是刷新的逆向而已