sz_yggls.~pas
上传用户:szruida
上传日期:2007-06-01
资源大小:6518k
文件大小:5k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit sz_yggls;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, DB, StdCtrls, Mask, DBCtrls, ExtCtrls, DBCtrlsEh, DBLookupEh,
  6.   Grids, DBGridEh, Buttons;
  7. type
  8.   Tsz_yggl = class(TForm)
  9.     sz_yg: TDataSource;
  10.     GroupBox1: TGroupBox;
  11.     Label1: TLabel;
  12.     DBEdit1: TDBEdit;
  13.     Label2: TLabel;
  14.     DBEdit2: TDBEdit;
  15.     Label3: TLabel;
  16.     Panel5: TPanel;
  17.     DBGridEh1: TDBGridEh;
  18.     Label36: TLabel;
  19.     Label37: TLabel;
  20.     sz_bm: TDataSource;
  21.     Add1: TSpeedButton;
  22.     Edit1: TSpeedButton;
  23.     Dele1: TSpeedButton;
  24.     Save1: TSpeedButton;
  25.     Refresh1: TSpeedButton;
  26.     Quit1: TSpeedButton;
  27.     v_yggl: TDataSource;
  28.     DBLookupComboBox1: TDBLookupComboBox;
  29.     procedure Quit1Click(Sender: TObject);
  30.     procedure FormCreate(Sender: TObject);
  31.     procedure Add1Click(Sender: TObject);
  32.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  33.     procedure Dele1Click(Sender: TObject);
  34.     procedure Edit1Click(Sender: TObject);
  35.     procedure Refresh1Click(Sender: TObject);
  36.     procedure Save1Click(Sender: TObject);
  37.     procedure DBGridEh1CellClick(Column: TColumnEh);
  38.   private
  39.     { Private declarations }
  40.   public
  41.     { Public declarations }
  42.   end;
  43. var
  44.   sz_yggl: Tsz_yggl;
  45. implementation
  46. uses DMs;
  47. {$R *.dfm}
  48. procedure Tsz_yggl.Quit1Click(Sender: TObject);
  49. begin
  50.   close;
  51. end;
  52. procedure Tsz_yggl.FormCreate(Sender: TObject);
  53. begin
  54. //  refresh1.Click;
  55.   dm.sz_bm.Close;
  56.   dm.sz_bm.CommandText:='select * from sz_bm';
  57.   dm.sz_bm.Open;
  58.   dm.sz_yg.Close;
  59.   dm.sz_yg.CommandText:='select * from sz_yg';
  60.   dm.sz_yg.Open;
  61.   dm.v_yggl.Close;
  62.   dm.v_yggl.CommandText:='select * from v_yggl';
  63.   dm.v_yggl.Open;
  64. end;
  65. procedure Tsz_yggl.Add1Click(Sender: TObject);
  66. begin
  67.   dm.sz_yg.Close;
  68.   dm.sz_yg.CommandText:='select * from sz_yg where yg_dm='+''''+''''+'';
  69.   dm.sz_yg.Open;    
  70. end;
  71. procedure Tsz_yggl.FormClose(Sender: TObject; var Action: TCloseAction);
  72. begin
  73.   action:=cafree;
  74.   sz_yggl:=nil;
  75.   dm.sz_yg.Active:=false;
  76.   dm.sz_bm.Active:=false;
  77.   dm.v_yggl.active:=false;
  78. end;
  79. procedure Tsz_yggl.Dele1Click(Sender: TObject);
  80. var s:string;
  81. begin
  82.  s:=dm.v_yggl.fieldbyname('bm_dm').AsString;
  83.  if Dm.sz_yg.RecordCount=0 then
  84.  begin
  85.     application.MessageBox('表中没有数据不能删除!','提示',mb_iconquestion+mb_defbutton1);
  86.     Abort;
  87.   end
  88.   else
  89.    if application.MessageBox('您确定删除吗?','警告',mb_okcancel+mb_iconquestion)=idok then
  90.    begin
  91.        Dm.sz_yg.Close;
  92.        dm.sz_yg.CommandText:='select * from sz_yg where bm_dm='+''''+s+''''+'';
  93.        dm.sz_yg.Open;
  94.        Dm.sz_yg.Delete;
  95.        Dm.sz_yg.ApplyUpdates(0);
  96.        refresh1.Click;
  97.     end; 
  98. end;
  99. procedure Tsz_yggl.Edit1Click(Sender: TObject);
  100. var s:string;
  101. begin
  102.   s:=dm.v_yggl.fieldbyname('bm_dm').AsString;
  103.   dm.sz_yg.Close;
  104.   dm.sz_yg.CommandText:='select * from sz_yg where bm_dm='+''''+s+''''+'';
  105.   dm.sz_yg.Open;
  106.   dm.sz_yg.edit;
  107.   dbedit1.SetFocus;
  108. end;
  109. procedure Tsz_yggl.Refresh1Click(Sender: TObject);
  110. begin
  111.   dm.sz_bm.Close;
  112.   dm.sz_bm.CommandText:='select * from sz_bm';
  113.   dm.sz_bm.Open;
  114.   dm.sz_yg.Close;
  115.   dm.sz_yg.CommandText:='select * from sz_yg';
  116.   dm.sz_yg.Open;
  117.   dm.v_yggl.Close;
  118.   dm.v_yggl.CommandText:='select * from v_yggl';
  119.   dm.v_yggl.Open;
  120. end;
  121. procedure Tsz_yggl.Save1Click(Sender: TObject);
  122.  var i:integer;
  123. begin
  124.    if dbedit1.Text='' then
  125.    begin
  126.     application.MessageBox('员工代码不能为空!','提示',mb_ok+mb_iconinformation);
  127.     exit;
  128.    end;
  129.    if dbedit2.Text='' then
  130.    begin
  131.     application.MessageBox('员工姓名不能为空!','提示',mb_ok+mb_iconinformation);
  132.     exit;
  133.    end;//以上位验证数据是否完整
  134.    Dm.sz_yg.ApplyUpdates(0);
  135.    i:=Dm.sz_yg.ApplyUpdates(0);
  136.    if i=0 then
  137.    begin
  138.       application.MessageBox('数据保存成功','提示',mb_ok+mb_iconinformation);
  139.       refresh1.click;
  140.    end
  141.    else
  142.    begin
  143.      application.MessageBox('数据保存失败','提示',mb_ok+mb_iconinformation);
  144.      exit;
  145.    end;  
  146. end;
  147. procedure Tsz_yggl.DBGridEh1CellClick(Column: TColumnEh);
  148. var
  149.   s1,s2:string;
  150.   i:integer;
  151. begin//--1单击每一行时,使树形控件也变化
  152.   s1:=DBGridEh1.Columns[2].DisplayText;
  153.  // showmessage(s1);
  154.   //s2:=DBGridEh1.Columns[2].DisplayText;
  155.  // dm.v_yggl.Locate('bm_dm','+''''+s1+''''+',[]);
  156.   //过滤要搜索的数据
  157.   dm.sz_yg.Close;
  158.   dm.sz_yg.CommandText:='select * from sz_yg where yg_dm='+''''+s1+''''+'';
  159.   dm.sz_yg.Open;
  160.   { dbedit1.Text:=dm.v_yggl.fieldbyname('yg_dm').AsString;
  161.   dbedit2.Text:=dm.v_yggl.fieldbyname('yg_xm').AsString;
  162.   showmessage('yg_dm'+dm.v_yggl.fieldbyname('yg_dm').AsString);
  163.   DBLookupComboBox1.ListField:=dm.v_yggl.fieldbyname('bm_mc').AsString;
  164.  }
  165. end;
  166. end.