在dbgrideh的onkeypress事件中
if   dbgrideh1.SelectedField.FieldName='F_Unit' then
edit1.Text:=key;如何捕捉到完整的key值
如果你输入456,key值只是最后一个值

解决方案 »

  1.   

    看来有点难,我只是想捕捉入库单里输入的数量,单价然后计算而已,原来是用的字段的UpdateData功能
      

  2.   

    你这个思路有问题,不能在keypree事件中取值计算,
    可以在oncolExit事件中处理,不过,这样不是很及时,只有exit时才能得到计算结果。
      

  3.   

    您可以利用DBGridEh1ColExit事件ADODataSet1.Edit;
    ADODataSet1.FieldValues['字段3]:=ADODataSet1.FieldByName('字段1').AsFloat*ADODataSet1.FieldByName('字段2).AsInteger;
    ADODataSet1.post;我试一下是可以,但还有一个问题,
    比如我改了'字段1',但是我下移了一行没有执行ColExit,程序没有执行怎么办
      

  4.   

    在ADODataSet1中对应字段的onChange事件处理
    只要这个字段的值发生改变,都会触发此事件,在此事件中处理你要做的事
      

  5.   

    在dbgrideh的onkeypress事件中
    dbgrideh1.InplaceEditor.Text
    就是你要的东西。
      

  6.   

    您可以利用DBGridEh1ColExit事件ADODataSet1.Edit;
    ADODataSet1.FieldValues['字段3]:=ADODataSet1.FieldByName('字段1').AsFloat*ADODataSet1.FieldByName('字段2).AsInteger;
    ADODataSet1.post;我试一下是可以,但还有一个问题,
    比如我改了'字段1',但是我下移了一行没有执行ColExit,程序没有执行怎么办程序是为懒人准备的,如果你怎么把每个字段的操作都以绝对地址写进去了,加我QQ:53793494,看看我能不能帮上你吧
      

  7.   

    DBGridEh1ColExit我加了代码,然后在DataSource2UpdateData加了同样的代码才实现了功能,有没有更简单的功能
      

  8.   

    设备全局变量 bEnd :boolean, sAllVale:String
    onkeypress事件中
     if not bEnd then
       sAllVale:=sAllVale+Key