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

解决方案 »

  1.   

    不能用DBGrid,可使用StringGrid之类控件自己进行控制。
      

  2.   

    但是使用StringGrid的话,对数据操作控制起来比较麻烦!
      

  3.   

    StringGrid其实也不是很麻烦
    :)
      

  4.   

    Delphi从来不缺控件的,找找吧,肯定有合适而方便的控件
      

  5.   

    TO:zhangxuyu1118(zxy)
    你有这个控件?
    能否发给我一份?
    谢谢了:)
      

  6.   

    假如使用StringGrid,如何保持StringGrid中的数据与表中的同步呀?因为表中的ID字段为自增量字段,我不想它在StringGrid中显示出来,同样也不希望用户编辑与修改,那么就不知道根据什么条件来如何UPDATE了?
      

  7.   

    在DataSource的OnDataChange事件或者TDBGrid的OnDrawColumnCell等事件中:
    TStringGrid(DBGrid).RowCount := 10;
      

  8.   

    update mytable set Field1 = Value1, Field2 = Value2, Field2 = Value3 where ID = IDValueID字段的值我不想用户修改,将该列的内容加入StringGrid中,只是为了更新时的条件,
    如何在StringGrid中隐藏一列呢?
      

  9.   

    我是用一个临时表,打开时往表中插入10条空白记录,即只用下记录ID,其余为空。再设一个Flag字段指明这是一个空白记录。这样用户就可以直接在上面输入的。在最后一条空白记录输入数据后,POST时再插入一个空白记录记可以了。需要控制排序,所以还要一个RecNo字段。可以实现lz的功能,但还是比较麻烦,代码量多了点。
      

  10.   

    我是用一个临时表,打开时往表中插入10条空白记录,即只用下记录ID,其余为空。再设一个Flag字段指明这是一个空白记录。这样用户就可以直接在上面输入的。在最后一条空白记录输入数据后,POST时再插入一个空白记录记可以了。需要控制排序,所以还要一个RecNo字段。可以实现lz的功能,但还是比较麻烦,代码量多了点。
    ===========================
    你说的方法也许可行,但是当客户程序或系统没反应了,那么就来不及清除这个临时表了,而且我很多表的结构都不一样,是不是为每个表都要这样设置临时表呢?再有就是在多用户的情况下难以控制这些临时数据表!
    网上有很多实例,你讲的就是表格录入方式
    ======================
    这些实例叫什么名字呀?我想搜索一下!
    有没链接地址?
      

  11.   

    TO:luxuewei5214(小卢)
    stringgrid配合数据集吧=====================
    我是想这样,但是我在数据集中取出记录显示在StringGrid后,当StringGrid中的某一行数据变更后,我如何知道应更新数据集中的哪一条记录呀?(因为ID字段才是唯一的,而我又不想把这个字段显示出来.)
      

  12.   

    stringgrade 可以很容易实现的。
    你只要查一些相关资料就可以了!
      

  13.   

    TO楼上的,
    你说的stringgrade我搜了,好象比较少这方面的资料吧?
    这是控件吗?