1、我用的是DBGridEh控件,假设当我在第一列输入数据,移动到第二列之前把刚输入的数据读出?(用作校验数据用,比如是输入商品的条形码,需要所输入的条形码商品是否存在)
2、DBGrdEh能不能不连接到数据表上而使它只作为数据输入用途,也就是当作Edit之类的使用,我现在的做法是把它连接到数据表上,每次先把数据表数据全清空,那么能不能建立虚拟表给用户输入数据?
3、我只需要输入商品的条形码,其他的数据从商品库中获得,这样的效果怎么实现?

解决方案 »

  1.   

    1:可以在exit事件中处理
    2:直接用Edit控件不就得了。
    3:使用lookup 功能
      

  2.   

    1在beforepost事件写
    2不用清空的呀,你过滤掉,输入时用APPEND行了
    3查找,取值
      

  3.   

    录入商品条码、数量、折扣信息等,应该用EDIT实现,当条码录入后,焦点离开EDIT时,取EDIT里的值,和商品信息表进行比较,若没有则提示出错信息,若有则把该商品的名称、价格读入,再进行金额计算。OK?
      

  4.   

    其实我想做成速达那种效果,苦于找不到速达的单据输入框!
    当输入商品条形码后,假设输入有错,商品不存在,那么先给用户提示错误信息,然后使刚刚输入条形码的列获得焦点,在DBGridEh中能不能实现?
    DBGridEh如果不接数据源就无法用作数据输入,这也是一个问题
      

  5.   

    使用或重写TStringGrid组件,可以实现你需要的功能,可以截获OnKeyPress事件,条形码输入结束时一有个回车符(ASCII码 13)以此来判断条形码的正确性。
    StringGrid 的Col 和Row属性可确定焦点的行与列。
    希望能与你共同探讨POS的其它问题,谢谢。
      

  6.   

    1 有什么问题呢,可以访问CELL呀,
    2 如果数据要提交数据库,就用APPEND了,如果不提交用TSTRINGGRID不好吗??
    3 做个全局的LIST,或者DATASET,把数据放进去,
    每次输入条码的时候,读出来,不需要每次访问数据库
      

  7.   

    条形码的问题,你只要把扫描器当做键盘来处理就可以了,不用多处理。输入的问题:
      1. 较验:delphi的TField就提供onValidator事件,为什么不写在这里????
      2. 代出其它值:也一样啊,,,在onValidator 中,如果通过了,就下一条SQL把此商品的信息找出来,然后写给其它字段。