【delphi开源代码栏目提醒】:本文主要为网学会员提供GDZCZJ.pas,希望对需要GDZCZJ.pas网友有所帮助,学习一下!
unit GDZCZJ;
interface
uses
Windows, SysUtils, Variants, Classes, Controls, Forms, dmGdzc, DB, Grids,
DBGrids, StdCtrls, ExtCtrls, GDZCEdit, GDZCCommon, GDZCZJAdd;
type
TGDZCZJForm = class(TForm)
pnlGDZCZJ: TPanel;
Splitter: TSplitter;
plGDZC: TPanel;
pnlTitle: TPanel;
dbGDZC: TDBGrid;
dsGDZC: TDataSource;
pnlToolBar: TPanel;
dbGDZCZJ: TDBGrid;
btADD: TButton;
btDel: TButton;
dsGDZCZJ: TDataSource;
procedure btAddClick(Sender: TObject);
procedure btDelClick(Sender: TObject);
procedure dsGDZCDataChange(Sender: TObject; Field: TField);
procedure dsGDZCZJDataChange(Sender: TObject; Field: TField);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
FdmGDZC: TdmGdzc;
FCurrBH: string;
FSFBS: Boolean;
public
{ Public declarations }
constructor Create(AOwner: TComponent; AdmGDZC: TdmGdzc); reintroduce;
end;
implementation
{$R *.dfm}
constructor TGDZCZJForm.Create(AOwner: TComponent; AdmGDZC: TdmGdzc);
begin
inherited Create(AOwner);
FdmGDZC := admGDZC;
InitDBGrid(FdmGDZC.cdGDZCZJField, dbGDZCZJ);
dsGDZCZJ.DataSet := FdmGDZC.cdGDZCZJ;
InitDBGrid(FdmGDZC.cdGDZCDJField, dbGDZC);
dsGDZC.DataSet := FdmGDZC.cdGDZCDJ;
end;
procedure TGDZCZJForm.btAddClick(Sender: TObject);
begin
with TGDZCZJAddForm.Create(nil, FdmGDZC) do
try
ShowModal;
FdmGDZC.cdGDZCZJ.ApplyUpdates(0);
dsGDZCZJ.DataSet.Refresh;
finally
free;
end;
end;
procedure TGDZCZJForm.btDelClick(Sender: TObject);
begin
if ConfirmDlg('是否删除?') = IDYes then
begin
with FdmGdzc.cdGDZCZJ do
begin
Delete;
ApplyUpdates(0);
end;
end;
end;
procedure TGDZCZJForm.dsGDZCDataChange(Sender: TObject; Field: TField);
const
conSQL = 'Select BH, ZJRQ, ZJJE from GDZCZJ Where BH = ''%S''';
var
l_BH: string;
begin
with FdmGDZC do
begin
l_BH := Trim(cdGDZCDJ.FieldByName('BH').AsString);
if Trim(FCurrBH) <> l_BH then FCurrBH := l_BH;
FSFBS := cdGDZCDJ.FieldByName('SFBS').AsBoolean;
if FSFBS then
begin
btAdd.Enabled := False;
btDel.Enabled := False;
end
else begin
btAdd.Enabled := True;
end;
if cdGDZCZJ.Active then cdGDZCZJ.Close;
if sqlGDZCZJ.Active then sqlGDZCZJ.Close;
sqlGDZCZJ.SQL.Text := Format(conSQL, [FCurrBH]);
sqlGDZCZJ.Open;
cdGDZCZJ.Open;
dsGDZCZJ.DataSet.Refresh;
end;
end;
procedure TGDZCZJForm.dsGDZCZJDataChange(Sender: TObject; Field: TField);
begin
with FdmGDZC, cdGDZCZJ do
begin
if not (Bof or Eof) and not FSFBS then
btDel.Enabled := True
else
btDel.Enabled := False
end;
end;
procedure TGDZCZJForm.FormActivate(Sender: TObject);
begin
dsGDZC.OnDataChange(dsGDZC, nil);
end;
end.