?? workersselect.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 + -