请教
如果我一个窗口有10个DBEDIT,我想判断如果这10个DBEDIT控件里其中一个的内容如果有变化,就把按钮的CAPTION 改为 更新,然后我会判断当,点这个按钮后,判断这个按钮的CAPTION,如果CAPTION没改变,那么就执行关闭窗口操作,如果有改变那么就执行更新操作.
这个我知道可以在每一个DBEDIT的ONCHANAGE事件里写代码判断.
但除了这个方法,有没有更方便的办法

解决方案 »

  1.   

    在DataSource的DataChange中判断数据集的状态
      

  2.   

    在這些控件的  DataSource  這個控件的  onDataStateChange  裏寫事件更好點。 當 state = DsEdit    更新。  state = dsInsert  為新增
      

  3.   


    太感谢2位高手了!
    如果我用的是EDIT呢?
    因为DBEDIT我还不是很熟.
    再次感谢!
      

  4.   

    高手!
    在onDataStateChange 事件里没有 state 啊提示错误
    只有 ds.state 和 ds.edit
      

  5.   

    还是不太明白
     當 state = DsEdit    更新
    后面的DSEDIT是否是 ds.edit  还是ds.dataset.edit呢?
    if datasource.dataset.state = datasource.dataset.edit 这样提示错误
      

  6.   

    STARLUCK
    不好意思,我是新手,刚刚我在onDataStateChange事件里写代码
    if ds1.state = dsedit then
    写到= D 的时候,应该系统自动会显示出相应代码,可 系统没有显示,我还因为不能用了.
    所以以为不可以.
    刚才我有测试了,可以了
    if ds1.state =dsedit then
    btn1.caption:='更新';谢谢你