📄 uemplyer.pas
字号:
unit uemplyer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DBCtrls, RzButton, ComCtrls, RzDTP, RzDBDTP,
StdCtrls, Mask, ExtCtrls, DB, ADODB, FR_DSet, FR_DBSet, FR_Class,
DBGridEh;
type
Tfrmemplyer = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
DBNavigator1: TDBNavigator;
ADOTable1: TADOTable;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
frReport1: TfrReport;
frDBDataSet1: TfrDBDataSet;
ADOTable1workid: TStringField;
ADOTable1name: TStringField;
ADOTable1sex: TStringField;
ADOTable1brithday: TDateTimeField;
ADOTable1department: TStringField;
ADOTable1zw: TStringField;
ADOTable1srrq: TDateTimeField;
ADOTable1bz: TStringField;
RzBitBtn3: TRzBitBtn;
DBComboBox1: TDBComboBox;
DBGrid1: TDBGrid;
DBComboBox2: TDBComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure DBGrid1ColExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmemplyer: Tfrmemplyer;
implementation
uses uconst,udm1,ufunction;
{$R *.dfm}
procedure Tfrmemplyer.FormClose(Sender: TObject; var Action: TCloseAction);
begin
frReport1.Free;
action:=cafree;
end;
procedure Tfrmemplyer.FormCreate(Sender: TObject);
begin
adotable1.Connection:=dm1.ADOConnection1;
adoquery1.Connection:=dm1.ADOConnection1;
adotable1.TableName:='emplyer';
strsql:='select classname from department order by classname asc';
adoexect(adoquery1,strsql);
if not(adoquery1.Recordset.BOF and adoquery1.Recordset.EOF) then
begin
adoquery1.First;
while not adoquery1.Eof do
begin
dbcombobox1.Items.Add(trim(adoquery1.fieldbyname('classname').AsString));
adoquery1.Next;
end;
end;
adoquery1.close;
try
adotable1.Open;
except
showmessage('访问数据库失败!');
end;
adoquery1.Close;
dbcombobox2.Items.Clear;
dbcombobox2.Items.Add('男');
dbcombobox2.Items.Add('女');
end;
procedure Tfrmemplyer.RzBitBtn2Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/emplyer.frf');
frVariables['username']:=username;
frreport1.ShowReport;
end;
procedure Tfrmemplyer.RzBitBtn1Click(Sender: TObject);
begin
frReport1.DoublePass := True;
frReport1.Clear;
frReport1.LoadFromFile(strpath+'/report/emplyer.frf');
frVariables['username']:=username;
frreport1.DesignReport;
end;
procedure Tfrmemplyer.RzBitBtn3Click(Sender: TObject);
begin
close;
end;
procedure Tfrmemplyer.DBGrid1DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if (gdFocused in State) then
begin
if (Field.FieldName = DBComboBox1.DataField ) then
begin
DBComboBox1.Left := Rect.Left + DBGrid1.Left;
DBComboBox1.Top := Rect.Top + DBGrid1.top;
DBComboBox1.Width := Rect.Right - Rect.Left;
DBComboBox1.Height := Rect.Bottom - Rect.Top;
DBComboBox1.Visible := True;
end;
if (Field.FieldName = DBComboBox2.DataField ) then
begin
DBComboBox2.Left := Rect.Left + DBGrid1.Left;
DBComboBox2.Top := Rect.Top + DBGrid1.top;
DBComboBox2.Width := Rect.Right - Rect.Left;
DBComboBox2.Height := Rect.Bottom - Rect.Top;
DBComboBox2.Visible := True;
end;
end;
end;
procedure Tfrmemplyer.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if (key<>chr(9)) then
if (dbgrid1.SelectedField.FieldName=dbcombobox1.Datafield) then
begin
dbcombobox1.setfocus;
sendmessage(dbcombobox1.handle,WM_CHAR,word(key),0);
end;
if (dbgrid1.SelectedField.FieldName=dbcombobox2.Datafield) then
begin
dbcombobox2.setfocus;
sendmessage(dbcombobox2.handle,WM_CHAR,word(key),0);
end;
end;
procedure Tfrmemplyer.DBGrid1ColExit(Sender: TObject);
begin
dbcombobox1.Visible:=False;
dbcombobox2.Visible:=False;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -