DELPHI中,用ADOQUERY1作数据源,用DBGRID呈现数据,如何感应到DBGRID中的数据已经改变?
比如说字段 A,B,C
在A字段为 X 的情况下,如果修改了B字段,则自动取消修改
如何实现?
请帮忙,谢谢

解决方案 »

  1.   

    在每个字段的OnSetText中处理,这样每个字段的值在被提交之前都会触发这个事件
      

  2.   


    可以定义一个布尔变量,OnSetText修改变量的值,在需要时判断。
      

  3.   

    用Field的OnSetText事件可以,但比较麻烦。
    最简单的办法是 TDataSource.OnDataChange 事件。
      

  4.   

    并不是数据被修改了才会引发OnDataChange 事件
      

  5.   

    将22line.lib里面的内容按照下列格式解析
    建立access格式的数据库即可,工具要求使用delphi线路信息库:(最多20条线路,从0~19依次排列),每线路0x3000字节。
    1)线路序号:第0,1字节,0~19,超过20,说明此线路空。
    2)线路名:第1,25字节:长度1字节,24字节名。
    3)上行站的数量:第26,1字节,最多120个站。
    4)下行站的数量:第27,1字节,最多120个站。
    5)GPRS线路号:第28~31。4字节。前2字节为实际GPRS线路号,低位在前;后2字节作为扩展用
    6)保留:第32~63,32字节。
    7)上行站列表:第64~5823。每站48字节,120个站点,120*48=5760字节。
    8)下行站列表:第5824~11583。5760字节。
    上下行站列表记录结构:48字节
    a.站名: 25字节:长度1字节,24字节名。
    b.距离下站的距离: 2字节,单位米。低位在前。
    c.进站经度坐标: 4字节。低位在前,最高字节方位角;剩余3字节是整数,实际数值为0.1秒。
    d.进站纬度坐标: 4字节。低位在前,最高字节方位角;剩余3字节是整数,实际数值为0.1秒。
    e.出站经度坐标: 4字节。低位在前,最高字节方位角;剩余3字节是整数,实际数值为0.1秒。
    f.出站纬度坐标: 4字节。低位在前,最高字节方位角;剩余3字节是整数,实际数值为0.1秒。
    g保留: 5字节。其中涉及的内容:
    1,数据库操作
    2,流格式文件读取
    3,数据的存储处理
      

  6.   

    最好写在B字段的OnInvalidate事件中