U_fzlr_zgxm.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:5k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit U_fzlr_zgxm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ExtCtrls, Db, DBClient, Menus, ImgList, ComCtrls, Buttons, Grids, DBGrids;
  6. type
  7.   TfrmZgda_fzlr = class(TForm)
  8.     Panel1: TPanel;
  9.     Panel2: TPanel;
  10.     PopupMenu2: TPopupMenu;
  11.     Panel3: TPanel;
  12.     btnOK: TSpeedButton;
  13.     btnCancel: TSpeedButton;
  14.     DataSource1: TDataSource;
  15.     DBGrid: TDBGrid;
  16.     N1: TMenuItem;
  17.     N2: TMenuItem;
  18.     N3: TMenuItem;
  19.     N4: TMenuItem;
  20.     N5: TMenuItem;
  21.     N6: TMenuItem;
  22.     N7: TMenuItem;
  23.     N8: TMenuItem;
  24.     N9: TMenuItem;
  25.     Panel4: TPanel;
  26.     TreeView: TTreeView;
  27.     ImageList1: TImageList;
  28.     procedure btnOKClick(Sender: TObject);
  29.     procedure btnCancelClick(Sender: TObject);
  30.     procedure N2Click(Sender: TObject);
  31.     procedure N1Click(Sender: TObject);
  32.     procedure N3Click(Sender: TObject);
  33.     procedure N4Click(Sender: TObject);
  34.     procedure N5Click(Sender: TObject);
  35.     procedure N6Click(Sender: TObject);
  36.     procedure N7Click(Sender: TObject);
  37.     procedure N8Click(Sender: TObject);
  38.     procedure N9Click(Sender: TObject);
  39.     procedure DBGridTitleClick(Column: TColumn);
  40.     procedure DBGridDblClick(Sender: TObject);
  41.     procedure FormCreate(Sender: TObject);
  42.     procedure TreeViewClick(Sender: TObject);
  43.   private
  44.   procedure refreshTree;
  45.     { Private declarations }
  46.   public
  47.     { Public declarations }
  48.   end;
  49. var
  50.   frmZgda_fzlr: TfrmZgda_fzlr;
  51.   pub_zgxm: string;
  52. implementation
  53. uses U_mainform, u_public, WzglDB;
  54. {$R *.DFM}
  55. procedure TfrmZgda_fzlr.refreshTree;
  56. var
  57.   mynode_1, mynode_2, mynode_3: Ttreenode;
  58.   s_bm_1, s_bm_2, s_bm_3: string;
  59.   s_mc_1, s_mc_2, s_mc_3: string;
  60. begin
  61.   DM.CDS_BMDA_INDEX.Active := True;
  62.   treeview.Items.clear;
  63.   mynode_1 := Treeview.Items.Add(Treeview.topitem, '部门档案');
  64.   mynode_1.imageindex := 0;
  65.   mynode_1.stateindex := -1;
  66.   mynode_1.selectedindex := 1;
  67.   DM.CDS_BMDA_INDEX.indexfieldnames := '部门编码';
  68.   DM.CDS_BMDA_INDEX.First;
  69.   while not DM.CDS_BMDA_INDEX.Eof do
  70.   begin
  71.     s_bm_1 := DM.CDS_BMDA_INDEX.fieldbyname('部门编码').asstring;
  72.     s_mc_1 := DM.CDS_BMDA_INDEX.fieldbyname('部门名称').asstring;
  73.     if length(trim(s_bm_1)) = 2 then
  74.     begin
  75.       mynode_2 := Treeview.items.addchild(mynode_1, '(' + s_bm_1 + ') ' + s_mc_1);
  76.       mynode_2.imageindex := 0;
  77.       mynode_2.stateindex := -1;
  78.       mynode_2.selectedindex := 1;
  79.     end;
  80.     if length(trim(s_bm_1)) = 5 then
  81.     begin
  82.       mynode_3 := Treeview.items.addchild(mynode_2, '(' + s_bm_1 + ') ' + s_mc_1);
  83.       mynode_3.imageindex := 0;
  84.       mynode_3.stateindex := -1;
  85.       mynode_3.selectedindex := 1;
  86.     end;
  87.     DM.CDS_BMDA_INDEX.next;
  88.   end;
  89. end;
  90. procedure TfrmZgda_fzlr.TreeViewClick(Sender: TObject);
  91. var
  92.   mynode: Ttreenode;
  93.   s_value_1, s_value_2, s_value_3, s_value_4: string;
  94. begin
  95.   if Treeview.Items.Count = 0 then
  96.     exit;
  97.   mynode := Treeview.selected;
  98.   case mynode.Level of
  99.     0:
  100.       begin
  101.         DM.CDS_ZGDA_INDEX.Filter := '';
  102.       end;
  103.     1: begin
  104.         s_value_1 := copy(mynode.text, 2, 2);
  105.         DM.CDS_ZGDA_INDEX.Filter := '所属部门编码=' + '''' + s_value_1 + '''';
  106.       end;
  107.     2: begin
  108.         s_value_1 := copy(mynode.text, 2, 6);
  109.         DM.CDS_ZGDA_INDEX.Filter := '所属部门编码=' + '''' + s_value_1 + '''';
  110.       end;
  111.   end;
  112.   DM.CDS_ZGDA_INDEX.Filtered := True;
  113. end;
  114. procedure TfrmZgda_fzlr.btnOKClick(Sender: TObject);
  115. begin
  116.   //判断是否选择具体职工
  117.   if DM.CDS_ZGDA_INDEX.recordcount = 0 then
  118.   begin
  119.     application.messagebox('请选择具体职工', '物资管理系统', mb_iconinformation + mb_defbutton1);
  120.     exit;
  121.   end;
  122.   //将职工姓名传递给全局变量pub_zgxm
  123.   pub_zgxm := DM.CDS_ZGDA_INDEX.fieldbyname('职工姓名').asstring;
  124.   close;
  125. end;
  126. procedure TfrmZgda_fzlr.btnCancelClick(Sender: TObject);
  127. begin
  128.   close;
  129. end;
  130. procedure TfrmZgda_fzlr.N2Click(Sender: TObject);
  131. begin
  132.   DM.CDS_ZGDA_INDEX.indexfieldnames := '职工编号';
  133. end;
  134. procedure TfrmZgda_fzlr.N1Click(Sender: TObject);
  135. begin
  136.   DM.CDS_ZGDA_INDEX.indexfieldnames := '职工姓名';
  137. end;
  138. procedure TfrmZgda_fzlr.N3Click(Sender: TObject);
  139. begin
  140.   DM.CDS_ZGDA_INDEX.indexfieldnames := '部门名称';
  141. end;
  142. procedure TfrmZgda_fzlr.N4Click(Sender: TObject);
  143. begin
  144.   DM.CDS_ZGDA_INDEX.indexfieldnames := '性别';
  145. end;
  146. procedure TfrmZgda_fzlr.N5Click(Sender: TObject);
  147. begin
  148.   DM.CDS_ZGDA_INDEX.indexfieldnames := '出生年月';
  149. end;
  150. procedure TfrmZgda_fzlr.N6Click(Sender: TObject);
  151. begin
  152.   DM.CDS_ZGDA_INDEX.indexfieldnames := '政治面貌';
  153. end;
  154. procedure TfrmZgda_fzlr.N7Click(Sender: TObject);
  155. begin
  156.   DM.CDS_ZGDA_INDEX.indexfieldnames := '职称';
  157. end;
  158. procedure TfrmZgda_fzlr.N8Click(Sender: TObject);
  159. begin
  160.   DM.CDS_ZGDA_INDEX.indexfieldnames := '职务';
  161. end;
  162. procedure TfrmZgda_fzlr.N9Click(Sender: TObject);
  163. begin
  164.   DM.CDS_ZGDA_INDEX.indexfieldnames := '职工属性';
  165. end;
  166. procedure TfrmZgda_fzlr.DBGridTitleClick(Column: TColumn);
  167. begin
  168.   DBGridSort(dbgrid, column);
  169. end;
  170. procedure TfrmZgda_fzlr.DBGridDblClick(Sender: TObject);
  171. begin
  172.   BtnOK.Click;
  173. end;
  174. procedure TfrmZgda_fzlr.FormCreate(Sender: TObject);
  175. begin
  176.   DM.CDS_ZGDA_INDEX.Active := True;
  177.   RefreshTree;
  178. end;
  179. end.