CdsDeltaForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit CdsDeltaForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Db, DBClient, Grids, DBGrids, StdCtrls, ExtCtrls, ComCtrls, MConnect,
  6.   MidasCon;
  7. type
  8.   TFormCds = class(TForm)
  9.     DataSource1: TDataSource;
  10.     Panel1: TPanel;
  11.     ButtonUpdate: TButton;
  12.     ButtonDelta: TButton;
  13.     ButtonUndo: TButton;
  14.     PageControl1: TPageControl;
  15.     TabSheetData: TTabSheet;
  16.     TabSheetDelta: TTabSheet;
  17.     DBGrid2: TDBGrid;
  18.     DataSource2: TDataSource;
  19.     DBGrid1: TDBGrid;
  20.     procedure ButtonUpdateClick(Sender: TObject);
  21.     procedure ButtonDeltaClick(Sender: TObject);
  22.     procedure ButtonUndoClick(Sender: TObject);
  23.     procedure FormCreate(Sender: TObject);
  24.     procedure PageControl1Change(Sender: TObject);
  25.   private
  26.     { Private declarations }
  27.   public
  28.     { Public declarations }
  29.   end;
  30. var
  31.   FormCds: TFormCds;
  32. implementation
  33. {$R *.DFM}
  34. uses
  35.   TypInfo, Reconc, CdsDeltaDm;
  36. procedure TFormCds.ButtonUpdateClick(Sender: TObject);
  37. begin
  38.   DmCds.cdsEmployee.ApplyUpdates (-1);
  39.   // activate data and hide delta
  40.   PageControl1.ActivePage := TabSheetData;
  41.   TabSheetDelta.TabVisible := False;
  42. end;
  43. procedure TFormCds.ButtonDeltaClick(Sender: TObject);
  44. begin
  45.   if DmCds.cdsEmployee.ChangeCount > 0 then
  46.   begin
  47.     DmCds.cdsDelta.Data := DmCds.cdsEmployee.Delta;
  48.     DmCds.cdsDelta.Open;
  49.     // activate delta
  50.     TabSheetDelta.TabVisible := True;
  51.     PageControl1.ActivePage := TabSheetDelta;
  52.   end
  53.   else
  54.   begin
  55.     TabSheetDelta.TabVisible := False;
  56.     ShowMessage ('No udpates in log');
  57.   end;
  58. end;
  59. procedure TFormCds.ButtonUndoClick(Sender: TObject);
  60. begin
  61.   DmCds.cdsEmployee.UndoLastChange (True);
  62. end;
  63. procedure TFormCds.FormCreate(Sender: TObject);
  64. begin
  65.   DmCds.cdsEmployee.Open;
  66.   TabSheetDelta.TabVisible := False;
  67. end;
  68. procedure TFormCds.PageControl1Change(Sender: TObject);
  69. begin
  70.   if PageControl1.ActivePage = TabSheetDelta then
  71.     if DmCds.cdsEmployee.ChangeCount > 0 then
  72.       DmCds.cdsDelta.Data := DmCds.cdsEmployee.Delta
  73.     else
  74.     begin
  75.       TabSheetDelta.TabVisible := False;
  76.       PageControl1.ActivePage := TabSheetData;
  77.     end;
  78. end;
  79. end.