关键是在哪儿写代码 如何得到输入的编码  请帮帮我这个菜鸟吧  分不够我会再加的....谢谢各位了 着急啊

解决方案 »

  1.   

    我再详细描述一下我的问题 
    输入编码后 回车 自动显示名称 数量 单价等数据 并且自动新增一行 .
    按向上键可以编辑刚才输入的那行  可以编辑数量 单价等.CXGRID来实现的
      

  2.   

    CXGrid不知道怎样实现,不过相同的功能可以在TField的OnSetText里写代码,实现显示名称、数量、单价等数据,并且自动新增一行。设计期间,在数据集控件(TTable、TQuery、TADOQuery)中用Add All Fields命令添加所有字段,然后在编码字段的OnSetText事件中编写对应的代码。
      

  3.   

    也就是在CXGRID的KEyPRESS事件里面增加判断即可,设计思路大致如下://在首列输入编码回车触发事件
    if (ord(key)=13 and CXGrid1.SelectIndex=0) then
     begin
       //关联CxGrid1的查询假如为query1,mc,sl,dj分别为名称、数量、单价的字段名称
       //下面的代码只是个引子,你的肯定比这复杂,要有一个取值的过程
       query1.fieldByName('mc').AsString:='阿莫西林';
       query1.fieldByName('sl').AsInteger:=10;
       query1.fieldByName('dj').AsFloat:=0.2;
       //定位下一列,我写的定位到第5列
       CXGrid1.SelectIndex:=4;
     end;
    //最后一列输入回车自动提交并添加一行数据
    if (ord(key)=13 and CXGrid1.SelectIndex=4) then
     begin
       //
       query1.post;
       query1.append;
     end;上面的代码只是一个引子,希望你能从中得到你想要处理问题的思路
      

  4.   

    if (ord(key)=13 and CXGrid1.SelectIndex=4)
      

  5.   

    只要是lookup字段就可以。
    可以不写代码。
      

  6.   

    IF KEY 是 ENTER 就执行一个查询,IF NOT EOF,就执行一个插入, 前提是插在临时表,到最后保存时要检验