小弟使用的虚拟表(用代码生成的)。使用DataSource 连接 DataGrid 在数据保存之前。需要写几个代码。但是因为表是代码建立的,所以不知该如何(声明)捕获 BeforePost 事件

解决方案 »

  1.   

    你用什么连接数据库啊?ADO?
    比如是ADODataSet,名称为ADODataSet1 ,则直接写过程TForm1.ADODataSet1BeforePost(DataSet: TDataSet);就行了把
      

  2.   

    还可以找一个静态的组件a,在它的BeforePost时间中写你要实现的代码,
    调用时直接b(你命名的动态组件).BeforePost=a.BeforePost也可以啊
      

  3.   

    up
    不过a.BeforePost要初始化
      

  4.   

    请问,如何初始化 A.BeforePost????
      

  5.   

    with Tadoquery.create(self) do
    begin
    ...
      beforePost := MyBeforePost;
    ...
    end;procedure TForm1.MyBeforePost();
    begin
      //你想在beforepost事件中写的代码 
    end;
      

  6.   

    procedure TForm1.Create(Sender: TObject);
    var
      AdoQryTemp: TAdoQuery;
    begin
      AdoQryTemp := TADoQuery.Create(Self);
      //如此即可
      AdoQryTemp.BeforePost := ADOQuery1BeforePost;
    end;procedure TForm1.ADOQuery1BeforePost(DataSet: TDataSet);
    begin
      //Do something;...
    end;