department.pas
来自「delphi renyuanguanlixinxioxitong」· PAS 代码 · 共 183 行
PAS
183 行
unit Department;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OperateModul, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls, DB,
ADODB, Grids, DBGrids, ExtCtrls, ToolWin;
type
TfrmDepartment = class(TfrmOperateModul)
TreeView1: TTreeView;
sbtnRefresh: TSpeedButton;
sbtnUpperDepartment: TSpeedButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
dbedtDepartmentNo: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
atbDepartment: TADOTable;
aqryDepartment: TADOQuery;
dsDeaprtment: TDataSource;
dsqDepartment: TDataSource;
atbDepartmentDEPARTMENTNO: TWideStringField;
atbDepartmentDEPARTMENTNAME: TWideStringField;
atbDepartmentMANAGER: TWideStringField;
atbDepartmentADDRESS: TWideStringField;
atbDepartmentTELEPHONE: TWideStringField;
atbDepartmentUpperDepartment: TStringField;
aqryDepartmentDEPARTMENTNO: TWideStringField;
aqryDepartmentDEPARTMENTNAME: TWideStringField;
atbDepartmentUPPERDEPARTMENTNO: TWideStringField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure sbtnUpperDepartmentClick(Sender: TObject);
procedure sbtnRefreshClick(Sender: TObject);
private
{ Private declarations }
protected
function funNew() :integer; override;
function funDelete() :integer; override;
function funUpdate() :integer; override;
function funSave() :integer; override;
function funQuery() :integer; override;
function funExit() :integer; override;
public
{ Public declarations }
end;
var
frmDepartment: TfrmDepartment;
function gfunOpenDepartment() :integer;
implementation
uses DataModual,gpubUnit;
{$R *.dfm}
//打开部门维护表单
function gfunOpenDepartment() :integer;
begin
frmDepartment := TfrmDepartment.Create(nil) ;
frmDepartment.ShowModal ;
Result := 0;
frmDepartment.Free ;
end;
//窗口关闭时将所有的数据控件断开与数据库的连接
procedure TfrmDepartment.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
if atbDepartment.Active then atbDepartment.Close;
if aqryDepartment.Active then aqryDepartment.Close;
end;
//档窗体显示时将所有的数据控件打开
procedure TfrmDepartment.FormShow(Sender: TObject);
begin
inherited;
//生成树
if not gfunCreateTree(TreeView1) then close;
if aqryDepartment.Active then aqryDepartment.Close;
try
aqryDepartment.Open ;
except
application.MessageBox('打开部门表出错','提示',mb_ok) ;
close;
end;
if atbDepartment.Active then atbDepartment.Close;
try
atbDepartment.Open;
except
application.MessageBox('打开部门表出错','提示',mb_ok) ;
close;
end;
end;
//选择上级部门
procedure TfrmDepartment.sbtnUpperDepartmentClick(Sender: TObject);
var
i :integer;
sString,sDepartmentNo :string;
begin
inherited;
if not atbDepartment.Active then exit;
if TreeView1.Items.Count <= 0 then exit;
i :=TreeView1.Selected.AbsoluteIndex ;
if i<0 then exit;
sString :=trim(TreeView1.Items[i].Text) ;
i:= Pos('--',sString);
sDepartmentNo := Copy(sString,1,i-1);
if atbDepartment.State = dsBrowse then
atbDepartment.Edit;
atbDepartment.FieldByName('UpperDepartmentNo').AsString := sDepartmentNo;
end;
//虚方法的具体显现过程
function TfrmDepartment.funNew() :integer;
begin
Result := 0;
if not atbDepartment.Active then exit;
atbDepartment.Last ; //将指针移到最后一条记录
atbDepartment.Append ;
atbDepartment.FieldByName('UpperDepartmentNo').AsString :='001';
dbedtDepartmentNo.SetFocus ;
end;
function TfrmDepartment.funDelete() :integer;
begin
Result := 0;
if not atbDepartment.Active then exit;
if length(trim(atbDepartment.FieldByName('DepartmentNo').AsString))>0 then
begin
if application.MessageBox('是否确信删除','提示',mb_YESNO) = IDYES then
atbDepartment.Delete
end
else
begin
application.MessageBox('没有选择要删除的部门','提示',mb_ok) ;
exit;
end;
end;
function TfrmDepartment.funUpdate() :integer;
begin
Result := 0;
end;
function TfrmDepartment.funSave() :integer;
begin
Result :=0;
if not atbDepartment.Active then exit;
if atbDepartment.State = dsBrowse then exit;
try
atbDepartment.Post ;
except
application.MessageBox('保存部门出错','提示',mb_ok) ;
atbDepartment.Cancel ;
exit;
end;
end;
function TfrmDepartment.funQuery() :integer;
begin
Result := 0;
end;
function TfrmDepartment.funExit() :integer;
begin
Result := 0;
close;
end;
procedure TfrmDepartment.sbtnRefreshClick(Sender: TObject);
begin
inherited;
if not gfunCreateTree(TreeView1) then exit;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?