📄 gzgl.pas
字号:
unit GZGL;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DB, Grids, DBGrids, ActnList,
XPStyleActnCtrls, ActnMan, ComCtrls, CMCommon,
Menus, CMStrings, dmDatas, GZXX;
type
TGZGLFrom = class(TForm)
Panel1: TPanel;
dbRYXX: TDBGrid;
dsRYXX: TDataSource;
Splitter1: TSplitter;
Panel2: TPanel;
Panel3: TPanel;
amKqxx: TActionManager;
acDelKQInfo: TAction;
dbKQxx: TDBGrid;
dsKQxx: TDataSource;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
UpDown1: TUpDown;
edtYear: TEdit;
Label2: TLabel;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure dsRYXXDataChange(Sender: TObject; Field: TField);
procedure cbMonthChange(Sender: TObject);
procedure edtYearChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FCrurrID: Integer;
FdmGZGL: TdmDatas;
//procedure WorkeRecBeforePost(DataSet: TDataSet);
function GetSqlText: string;
procedure InitData;
procedure UpdateKqxx;
public
{ Public declarations }
property dmGZGL: TdmDatas read FdmGZGL;
end;
implementation
uses ADODB;
{$R *.dfm}
procedure TGZGLFrom.InitData;
var
i: Integer;
begin
FCrurrID := -1;
with FdmGZGL do
begin
//公司人员列表
dsRYXX.DataSet := adoEmployee;
InitDBGrid(adoEmployeeField, dbRYXX);
//公司人员工资信息
dsKQxx.DataSet := adoELaborage;
dbKQxx.DataSource := dsKQxx;
InitDBGrid(adoELaborageField, dbKQxx);
end;
end;
procedure TGZGLFrom.FormCreate(Sender: TObject);
begin
//创建数据模块
FdmGZGL := TdmDatas.Create(self);
//FdmGZGL.adoELaborage.BeforePost := WorkeRecBeforePost;
//初始化页面数据
InitData;
end;
procedure TGZGLFrom.UpdateKqxx;
var
l_SQL: string;
l_ID: Integer;
begin
l_ID := dsRYXX.DataSet.FieldByName('ID').AsInteger;
l_SQL := GetSqlText;
if (l_ID <> FCrurrID) or (not SameText(l_SQL, FdmGZGL.adoELaborage.SQL.Text)) then
begin
FCrurrID := l_ID;
with FdmGZGL.adoELaborage do
begin
if Active then Close;
SQL.Text := l_SQL;
Open;
end;
end;
end;
procedure TGZGLFrom.FormDestroy(Sender: TObject);
begin
end;
//考勤记录保存之前当前的数据
{
procedure TGZGLFrom.WorkeRecBeforePost(DataSet: TDataSet);
begin
with FdmGZGL, adoELaborage do
begin
//Edit; //.State
FieldByName('ID').AsInteger := adoEmployee.FieldByName('ID').AsInteger;
FieldByName('Nian').AsInteger := strToInt(edtYear.Text);
//FieldByName('Yue').AsInteger := strToInt(cbMonth.Text);
//Post;
end;
end;
}
procedure TGZGLFrom.dsRYXXDataChange(Sender: TObject; Field: TField);
begin
UpdateKqxx;
end;
procedure TGZGLFrom.cbMonthChange(Sender: TObject);
begin
UpdateKqxx;
end;
procedure TGZGLFrom.edtYearChange(Sender: TObject);
begin
UpdateKqxx;
end;
function TGZGLFrom.GetSqlText: string;
procedure AddCondition(FieldName: string);
begin
Result := Result + ' and ' + FieldName + ' = ' + Quotedstr('是');
end;
var
l_SQL: string;
l_ID: Integer;
begin
l_ID := dsRYXX.DataSet.FieldByName('ID').AsInteger;
l_SQL := 'select * from ELaborage where ID = ' + InttoStr(l_ID) +
' and Nian = ' + edtYear.Text;
Result := l_SQL;
end;
procedure TGZGLFrom.Button1Click(Sender: TObject);
begin
with TGZXXForm.Create(nil, FdmGZGL, strToInt(edtYear.Text)) do
try
ShowModal
finally
free
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -