unit U_User_bz_List; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxTextEdit, ExtCtrls, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, ADODB, DBClient, StdCtrls; type TfrmUser_bz_List = class(TForm) ToolBar1: TToolBar; tbyhadd: TToolButton; tbyhup: TToolButton; tbyhdelete: TToolButton; ToolButton6: TToolButton; tbqx: TToolButton; ToolButton7: TToolButton; tbclose: TToolButton; ToolButton1: TToolButton; cxGrid1: TcxGrid; tv1: TcxGridDBTableView; tv1Code1: TcxGridDBColumn; tv1Name1: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; Panel1: TPanel; ADO_user: TADOQuery; ADO_Cmd: TADOQuery; DataSource2: TDataSource; CDS_User: TClientDataSet; Label1: TLabel; userID: TEdit; Label2: TLabel; USERName: TEdit; Label7: TLabel; banzu: TComboBox; edu: TComboBox; Label8: TLabel; Label3: TLabel; validName: TComboBox; Label4: TLabel; position: TEdit; Label5: TLabel; fstr1: TEdit; tv1banzu: TcxGridDBColumn; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure tbyhaddClick(Sender: TObject); procedure tbcloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ToolButton1Click(Sender: TObject); procedure tbyhupClick(Sender: TObject); procedure tbyhdeleteClick(Sender: TObject); procedure tbqxClick(Sender: TObject); procedure userIDChange(Sender: TObject); private Procedure InitUser(); { Private declarations } public { Public declarations } end; var frmUser_bz_List: TfrmUser_bz_List; implementation uses U_DataLink, U_Fun10,U_PublicFunction, U_UserHelp_Bz, U_User10; {$R *.dfm} Procedure TfrmUser_bz_List.InitUser(); begin with ADO_user do begin close; sql.Clear; sql.Add(' select A.*,B.userName '); sql.Add(' from BD_Staff_banzu A '); sql.Add(' inner join BD_Staff B on B.userID=A.userID '); sql.Add(' where B.userId<>''ADMIN'' '); open; end; CreateAdoToCds(ADO_user,CDS_User); InitAdoToCds(ADO_user,CDS_User); end; procedure TfrmUser_bz_List.FormDestroy(Sender: TObject); begin frmUser_bz_List:=nil; end; procedure TfrmUser_bz_List.FormClose(Sender: TObject; var Action: TCloseAction); begin writeCxGrid(self.Caption,Tv1,'基础数据'); Action:=cafree; end; procedure TfrmUser_bz_List.tbyhaddClick(Sender: TObject); begin frmUserHelp_Bz:=TfrmUserHelp_Bz.Create(self); with frmUserHelp_Bz do begin // formId:=0; // fuserID:=''; if showmodal=1 then begin InitUser(); // CDS_User.Locate('UserID',trim(fuserID),[]); end; free; end; end; procedure TfrmUser_bz_List.tbcloseClick(Sender: TObject); begin close; end; procedure TfrmUser_bz_List.FormShow(Sender: TObject); begin ReadCxGrid(self.Caption,Tv1,'基础数据'); InitUser(); end; procedure TfrmUser_bz_List.FormCreate(Sender: TObject); begin cxGrid1.Align:=alclient; end; procedure TfrmUser_bz_List.ToolButton1Click(Sender: TObject); begin InitUser(); end; procedure TfrmUser_bz_List.tbyhupClick(Sender: TObject); begin userID.SetFocus; if CDS_User.IsEmpty then exit; ADO_Cmd.Connection.BeginTrans; try with CDS_User do begin DisableControls; First; while not eof do begin with ADO_Cmd do begin close; sql.Clear; sql.Add('select * from BD_Staff_banzu'); sql.Add('where userID='+quotedstr(trim(CDS_User.fieldbyname('userID').AsString))); open; if ADO_Cmd.IsEmpty then ADO_Cmd.Append else ADO_Cmd.Edit; ADO_Cmd.fieldbyname('userID').Value:=trim(CDS_User.fieldbyname('userID').AsString); ADO_Cmd.fieldbyname('banzu').Value:=trim(CDS_User.fieldbyname('banzu').AsString); ADO_Cmd.Post; end; next; end; EnableControls; end; ADO_Cmd.Connection.CommitTrans; except CDS_User.EnableControls; ADO_Cmd.Connection.RollbackTrans; application.MessageBox('数据保存失败!','提示信息',MB_ICONERROR); end; end; procedure TfrmUser_bz_List.tbyhdeleteClick(Sender: TObject); begin if CDS_User.IsEmpty then exit; if trim(CDS_User.FieldByName('userID').AsString)='ADMIN' then exit; if application.MessageBox('请确定要删除此员工班组吗?','警告信息!',1)=2 then exit; try with ADO_Cmd do begin close; sql.Clear; sql.Add(' delete BD_Staff_banzu '); sql.Add(' where userID='+quotedstr(trim(CDS_User.fieldbyname('USerID').AsString))); execsql; end; InitUser(); except application.MessageBox('删除失败!','错误信息',MB_ICONERROR); end; end; procedure TfrmUser_bz_List.tbqxClick(Sender: TObject); begin if CDS_User.IsEmpty then exit; TcxGridToExcel(self.Caption,cxgrid1); end; procedure TfrmUser_bz_List.userIDChange(Sender: TObject); begin if not CDS_User.Active then exit; SDofilter(ADO_user,SGetFilters(Panel1,1,2)); CreateAdoToCds(ADO_user,CDS_User); InitAdoToCds(ADO_user,CDS_User); end; end.