本帖最后由 zxyyjh 于 2011-12-19 14:56:22 编辑

解决方案 »

  1.   

    cbsupdown是不会触发EditButtonClick事件的如果你只是想让价格值跟着discount变化,可以使用discount的onchange事件
    双击adoquery1,选discount,再双击onchange事件procedure tform1.discountChange(sender:tfield);
    begin
      adoquery1.fieldbyname('price').asstring:='0';
    end;
      

  2.   

    双击adoquery1,是空的,点add fields,会出现missing sql property。点new field的话,一运行就报错,好像只能手动写函数。
      

  3.   

    没有添加在Fields Editor里面,就动态的在afteropen事件里面写onchange函数:
    ...
      private
        procedure discountChange(Sender:TField);
      { Private declarations }
      public
    ...procedure tform1.discountChange(sender:tfield);
    begin
      adoquery1.fieldbyname('price').asstring:='0';
    end;procedure tform1.adoquery1AfterOpen(DataSet: TDataSet);
    begin
      DataSet.fieldbyname('discount').onchange=discountChange;
    end;