⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workersselect.pas

📁 用户名:SYSTEM 密码:空 第一次运行请先恢复数据库 DATABASE 到SQL服务器
💻 PAS
字号:
unit WorkersSelect;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseForm, ComCtrls, ImgList, StdCtrls, Buttons,DataMod,AdoDb,Db;

type
  TfWorkersSelect = class(TfBaseForm)
    TreeView: TTreeView;
    ImageList1: TImageList;
    ListBox1: TListBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    procedure TreeViewGetImageIndex(Sender: TObject; Node: TTreeNode);
    procedure TreeViewGetSelectedIndex(Sender: TObject; Node: TTreeNode);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
  private
    { Private declarations }
      Root:TTreeNode;
      procedure IniTreeview;
      Function  FindWorker(const WorkerNo:String):Boolean;
      Function  FindDepartMentNode(Const DepartMentNo:String):TTreeNode;
  public
    { Public declarations }
    DateSetWorkers:TDataSet;
  end;

var
  fWorkersSelect: TfWorkersSelect;

implementation

{$R *.dfm}

procedure TfWorkersSelect.IniTreeview;
var
   QueDepartMent,QueWorkers:TAdoQuery;
   Root1:TTreeNode;
   Item:TItem;
begin
    TreeView.Items.Clear ;
    Root:=TreeView.Items.AddFirst(nil,'ッ翬皐麓紅');
    QueDepartMent:=TAdoQuery.Create(self);
    QueWorkers:=TAdoQuery.Create(self);
    QueDepartMent.Connection :=fdatamod.AdoCon ;
    QueWorkers.Connection :=fdatamod.AdoCon ;
    QueDepartMent.SQL.Add('Select cDepartMentNo,cDepartMentName From DepartMent order by cDepartMentNo');
    QueWorkers.Sql.Add('Select cWorkerNo,cWorkerName From Workers Where lLeaved=0 and cdepartMentNo=:DepartMentNo Order by cWorkerNo');
    QueDepartMent.Open;
    While Not QueDepartMent.Eof do
    begin
          Item:=TItem.Create ;
          Item.ItemID :=QueDepartMent.fieldbyName('cDepartMentNo').asString;
          Item.ItemCaption :=QueDepartMent.FieldbyName('cDepartMentName').asString;
          root1:=Treeview.Items.AddChildObject(root,Item.ItemCaption,item);
          QueWorkers.Close;
          QueWorkers.Parameters.ParamByName('DepartMentNo').Value :=Item.ItemID ;
          QueWorkers.Open;
          While Not QueWorkers.Eof do
          Begin
               if Not FindWorker(QueWorkers.fieldByName('cWorkerNo').asstring) then begin
                  Item:=TItem.Create ;
                  Item.ItemID :=QueWorkers.fieldbyName('cWorkerNo').AsString ;
                  Item.ItemCaption :=QueWorkers.fieldbyName('cWorkerName').AsString ;
                  TreeView.Items.AddChildObject(Root1,Item.ItemCaption,Item )  ;
               end;     
               QueWorkers.Next;
          end;
          QueDepartMent.Next;
    end;
    root.Expanded :=true;
end;

procedure TfWorkersSelect.TreeViewGetImageIndex(Sender: TObject;
  Node: TTreeNode);
begin
  inherited;
  if Node.Level=1 then
      Node.ImageIndex :=0
  else
      Node.ImageIndex :=1
end;

procedure TfWorkersSelect.TreeViewGetSelectedIndex(Sender: TObject;
  Node: TTreeNode);
begin
  inherited;
  Node.SelectedIndex:=Node.ImageIndex ;
end;

procedure TfWorkersSelect.FormCreate(Sender: TObject);
var
   Item:TItem;
begin
  inherited;

end;

function TfWorkersSelect.FindWorker(const WorkerNo: String): Boolean;
var
    I:Integer;
begin
    Result:=False;
    for I:=0 to Listbox1.Items.count-1 do
    Begin
         if tItem(Listbox1.items.Objects [i]).ItemID=WorkerNo then begin
            Result:=True;
            Break;
         end;
    end;
end;

procedure TfWorkersSelect.BitBtn3Click(Sender: TObject);
var
   I:Integer;
begin
  inherited;
  if Treeview.Selected.Level >=1 then begin
     if Treeview.Selected.Level=1 then begin
        While Treeview.Selected.Count>0 do
        begin
           Listbox1.Items.AddObject(TItem(Treeview.Selected.Item[0].Data).ItemCaption,TItem(Treeview.Selected.Item[0].Data));
           Listbox1.itemIndex:=Listbox1.Items.Count -1;
           Treeview.Selected.item[0].delete ;
        end;
     end else   begin
          Listbox1.Items.AddObject(TItem(Treeview.Selected.Data).ItemCaption,TItem(Treeview.Selected.Data));
          TreeView.Selected.Delete ; 
     end;
  end;
end;

procedure TfWorkersSelect.FormShow(Sender: TObject);
var
  Item:TItem;
begin
  inherited;
 if (DateSetWorkers=nil) Or (Not DateSetWorkers.Active)  then  begin
       application.MessageBox('╰参ず场秸ノ岿粇

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -