📄 u_bmbm.pas
字号:
unit U_bmbm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ComCtrls, Buttons, Db, DBClient, ImgList, Menus, StdCtrls,
Mask, DBCtrls, Grids, DBGrids;
type
TfrmBmda = class(TForm)
Panel1: TPanel;
TreeView: TTreeView;
Splitter1: TSplitter;
StatusBar: TStatusBar;
pmOperate: TPopupMenu;
N_insert: TMenuItem;
N_delete: TMenuItem;
N_edit: TMenuItem;
N_cancel: TMenuItem;
N_save: TMenuItem;
N7: TMenuItem;
N_refresh: TMenuItem;
ImageList1: TImageList;
DataSource: TDataSource;
Panel2: TPanel;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel3: TPanel;
Label3: TLabel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdt_Bmmc: TDBEdit;
DBEdt_Fzrxm: TDBEdit;
DBEdt_Bmsx: TDBEdit;
DBEdt_Lxdh: TDBEdit;
DBEdt_DZ: TDBEdit;
DBGrid: TDBGrid;
ImageList2: TImageList;
pmOther: TPopupMenu;
N_Order: TMenuItem;
N_Print: TMenuItem;
Label9: TLabel;
DBEdt_bmjc: TDBEdit;
Label10: TLabel;
Panel4: TPanel;
DBEdt_BZ: TDBEdit;
DBEdt_Bmbm: TDBEdit;
N1: TMenuItem;
n_close: TMenuItem;
Panel5: TPanel;
btn_refresh: TSpeedButton;
btn_insert: TSpeedButton;
btn_edit: TSpeedButton;
btn_cancel: TSpeedButton;
btn_save: TSpeedButton;
btn_delete: TSpeedButton;
DBNavigator: TDBNavigator;
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure N_insertClick(Sender: TObject);
procedure N_saveClick(Sender: TObject);
procedure N_refreshClick(Sender: TObject);
procedure N_editClick(Sender: TObject);
procedure N_cancelClick(Sender: TObject);
procedure N_deleteClick(Sender: TObject);
procedure TreeViewClick(Sender: TObject);
procedure N_OrderClick(Sender: TObject);
procedure N_PrintClick(Sender: TObject);
procedure DBGridTitleClick(Column: TColumn);
procedure n_closeClick(Sender: TObject);
procedure btn_deleteClick(Sender: TObject);
procedure btn_editClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
Node_Parent: TTreeNode; //存储父节点
Node_Child: TTreeNode; //存储当前节点
b_pd: bool; //用于判断点击的是添加还是编辑
//在添加、编辑和浏览状态互置按钮的有效性
procedure button_valid;
//RefreshTree方法用于将部门档案的部门编码分层次以树型目录的形式显示出来
procedure refreshTree;
{ Private declarations }
public
{ Public declarations }
end;
var
frmBmda: TfrmBmda;
implementation
uses main,u_public,u_dm,u_print,common;// U_general_print, ;
{$R *.DFM}
//在添加、编辑和浏览状态互置组件的有效性
procedure TfrmBmda.button_valid;
begin
{ DBEdt_Bmbm.enabled := not DBEdt_Bmbm.enabled;
DBEdt_Bmmc.enabled := not DBEdt_Bmmc.enabled;
DBEdt_Fzrxm.enabled := not DBEdt_Fzrxm.enabled;
DBEdt_Bmsx.enabled := not DBEdt_Bmsx.enabled;
DBEdt_Lxdh.enabled := not DBEdt_Lxdh.enabled;
DBEdt_DZ.enabled := not DBEdt_DZ.enabled;
DBEdt_BZ.enabled := not DBEdt_BZ.enabled;
DBEdt_bmjc.Enabled := not DBEdt_bmjc.Enabled ; }
Panel3.Enabled :=Not Panel3.Enabled ;
n_insert.enabled := not n_insert.enabled;
n_delete.enabled := not n_delete.enabled;
n_edit.enabled := not n_edit.enabled;
n_cancel.enabled := not n_cancel.enabled;
n_save.enabled := not n_save.enabled;
n_refresh.enabled := not n_refresh.enabled;
Treeview.enabled := not Treeview.Enabled;
//
DBNavigator.enabled := not dbnavigator.enabled;
btn_insert.enabled := not btn_insert.enabled;
btn_delete.enabled := not btn_delete.enabled;
btn_edit.enabled := not btn_edit.enabled;
btn_cancel.enabled := not btn_cancel.enabled;
btn_Save.enabled := not btn_Save.enabled;
btn_refresh.enabled := not btn_refresh.enabled;
//
end;
//RefreshTree方法用于将部门档案的部门编码分层次以树型目录的形式显示出来
procedure TfrmBmda.refreshTree;
var
mynode_1, mynode_2, mynode_3: Ttreenode;
s_bm_1: string;
s_mc_1: string;
begin
statusbar.panels[0].text := '正在进行数据处理...';
statusbar.refresh;
treeview.Items.clear;
//添加根目录名
mynode_1 := Treeview.Items.Add(Treeview.topitem, '部门档案');
mynode_1.imageindex := 0;
mynode_1.stateindex := -1;
mynode_1.selectedindex := 1;
//指定部门表记录顺序
DM.ADO_BMBMK.IndexFieldNames := 'bmbh';
DM.ADO_BMBMK.First;
while not DM.ADO_BMBMK.Eof do
begin
s_bm_1 := trim(DM.ADO_BMBMK.fieldbyname('bmbh').asstring);
s_mc_1 := trim(DM.ADO_BMBMK.fieldbyname('bmname').asstring);
//添加第一级部门名
if length(trim(s_bm_1)) = 2 then
begin
mynode_2 := Treeview.items.addchild(mynode_1, '(' + s_bm_1 + ') ' + s_mc_1);
mynode_2.imageindex := 0;
mynode_2.stateindex := -1;
mynode_2.selectedindex := 1;
end;
//添加第二级部门名
if length(trim(s_bm_1)) = 5 then
begin
mynode_3 := Treeview.items.addchild(mynode_2, '(' + s_bm_1 + ') ' + s_mc_1);
mynode_3.imageindex := 0;
mynode_3.stateindex := -1;
mynode_3.selectedindex := 1;
end;
DM.ADO_BMBMK.next;
end;
statusbar.panels[0].text := '';
statusbar.refresh;
end;
procedure TfrmBmda.FormShow(Sender: TObject);
begin
with DM do
begin
DM.ADO_BMBMK.Active:= True;
end;
refreshTree; //调用RefreshTree方法将部门档案的部门编码分层次以树型目录的形式显示出来
Treeview.topitem.Selected := true;
end;
procedure TfrmBmda.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := cafree;
frmBmda := nil;
DM.ADO_BMBMK.Close ;
end;
//添加
procedure TfrmBmda.N_insertClick(Sender: TObject);
var
gs_global: string; //存储添加的父节点标题;
begin
b_pd := true;
Node_Parent := Treeview.selected;
if Node_Parent.level = 2 then
begin
Application.messagebox('最底层不能添加,请在上层添加', '仓储信息管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//设置按扭的有效性
button_valid;
if Node_Parent.level = 0 then
begin
DM.ADO_BMBMK.Insert;
DM.ADO_BMBMK.FieldByName('bmbh').editmask := '99;1;_';
pagecontrol1.ActivePageIndex := 0;
DBEdt_Bmbm.setfocus;
end;
if Node_Parent.level = 1 then
begin
gs_global := copy(Node_Parent.text, 2, 2);
DM.ADO_BMBMK.insert;
DM.ADO_BMBMK.FieldByName('bmbh').editmask := '99-99;1;_';
pagecontrol1.ActivePageIndex := 0;
DBEdt_Bmbm.setfocus;
DBEdt_Bmbm.text := gs_global;
end;
end;
procedure TfrmBmda.N_editClick(Sender: TObject);
begin
b_pd := false;
Node_Child := Treeview.selected;
if Node_Child.level = 0 then
begin
Application.messagebox('最顶层不能编辑,请在下层编辑', '仓储信息管理系统', mb_iconinformation + mb_defbutton1);
exit;
end;
//设置按扭有效性
button_valid;
Node_Parent := Node_Child.parent;
if Node_Parent.level = 0 then
begin
DM.ADO_BMBMK.edit;
DM.ADO_BMBMK.FieldByName('bmbh').editmask := '99;1;_';
pagecontrol1.ActivePageIndex := 0;
DBEdt_Bmbm.setfocus;
/// dbedt_bmbm.enabled:=false;
end;
if Node_Parent.level = 1 then
begin
DM.ADO_BMBMK.edit;
DM.ADO_BMBMK.FieldByName('bmbh').editmask := '99-99;1;_';
pagecontrol1.ActivePageIndex := 0;
DBEdt_Bmbm.setfocus;
end;
end;
//删除
procedure TfrmBmda.N_deleteClick(Sender: TObject);
var
mynode: Ttreenode;
s_value:string;
begin
//**
{ if findundo('bmid','rsxxb',trim(dbedt_bmbm.Text),frmmain.adoqytmp) then
begin
application.MessageBox('部门编码已存在于人事档案中,无法删除 !?', '材料租赁系统', mb_iconinformation + mb_defbutton1);
exit;
end; }
mynode := Treeview.selected;
//根目录不须删除
if mynode.level = 0 then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -