1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
{ Chargement des données BASE}
// affichage d'un noeud
procedure TAllNomen.NodeImage(ANode : TTreeNode);
begin
if Anode<>nil then
begin
if TBaseFIXE.Value='F'
then ANode.ImageIndex:=0
else ANode.ImageIndex:=1;
ANode.SelectedIndex:=ANode.ImageIndex;
if TBaseMatiere.isNull then Anode.text:=Format('%-15s',[TBasePIECE.Value])
else Anode.text:=Format('%-15s %-25s',[TBasePIECE.Value,
TBaselibMatiere.Value]);
end;
end;
// remplissage
procedure TAllNomen.Arbre;
var ANode:TTreeNode;
DataNoeud:^TAnode;
begin
ANode:=nil;
with TreeView.Items,TBase do
begin
BeginUpdate;
TreeView.OnChange:=nil;
DisableControls;
Data.TColoris.Close;
Clear;
CancelRange;
SetRange([TNomenDescCODE.value,0],[TNomenDescCODE.value,255]);
while not EOF do
begin
if FieldByName('PARENT_NIVEAU').Value=0 then
begin
DataNoeud:=AllocMem(SizeOf(TAnode));
DataNoeud.Onglet:=GetBookMark;
DataNoeud.Qte:=FieldByName('QTE_TOT').Value;
ANode:=AddObject(nil,'',DataNoeud);
NodeImage(Anode);
Next;
end
else Enfants(Anode,FieldByName('PARENT_NIVEAU').Value);
end;
TreeView.FullExpand;
Data.TColoris.Open;
TreeView.OnChange:=TreeViewChange;
EndUpdate;
EnableControls;
if TreeView.Items.Count>0 then TreeView.Selected:=TreeView.Items[0];
end; {with}
end;
//
procedure TAllNomen.Enfants(ANode : TTreeNode;Niveau : Integer);
var Node2 : TTreeNode;
DataNoeud:^TAnode;
begin
with TreeView.Items,TBase do
begin
DataNoeud:=AllocMem(SizeOf(TAnode));
DataNoeud.Onglet:=GetBookMark;
DataNoeud.Qte:=FieldByName('QTE_TOT').Value;
Node2:=AddChildObject(ANode,'',DataNoeud);
NodeImage(Node2);
Next;
while not EOF do
begin
if Niveau>FieldByName('PARENT_NIVEAU').Value then break;
if Niveau=FieldByName('PARENT_NIVEAU').Value then
begin
DataNoeud:=AllocMem(SizeOf(TAnode));
DataNoeud.Onglet:=GetBookMark;
DataNoeud.Qte:=FieldByName('QTE_TOT').Value;
Node2:=AddObject(Node2,'',DataNoeud);
NodeImage(Node2);
Next;
end
else Enfants(Node2,FieldByName('PARENT_NIVEAU').Value);
end;
end; {with}
end; |
Partager