Merhaba arkadaşlar, malzeme yönetimi için ürün reçete listelerinin saklı olduğu iki çeşit tablom var.
birisi malzeme listesinin bilgilerinin olduğu BOM tablosu,
diğeri ise bu liste içerisinde yer alan malzemelerin referans alındığı BOMLIST tablosu,
ayrıca bir de malzemelerin kayıtlı olduğu ITEMS tablom var.
aşağıdaki gibi sonsuz iç içe girebilen bir treeview gösterimini nasıl yapabilirim.
MODEL1
MODEL1-yarımamül1-malzeme1
MODEL1-malzeme1
MODEL2-yarımamül2-yarımamül3-malzeme2
MODEL2-yarımamül2-yarımamül3-malzeme3
MODEL2-yarımamül2-yarımamül3-malzeme4
fdquery ile kullandığım sorgu şu şekilde,
tüm kodlarım ise şu şekilde,
bu komutlar ile 1 adet child oluşturabiliyorum ama sonsuz child olmuyor. nasıl yapabilirim
şimdiden teşekkür ederim.
birisi malzeme listesinin bilgilerinin olduğu BOM tablosu,
diğeri ise bu liste içerisinde yer alan malzemelerin referans alındığı BOMLIST tablosu,
ayrıca bir de malzemelerin kayıtlı olduğu ITEMS tablom var.
aşağıdaki gibi sonsuz iç içe girebilen bir treeview gösterimini nasıl yapabilirim.
MODEL1
MODEL1-yarımamül1-malzeme1
MODEL1-malzeme1
MODEL2-yarımamül2-yarımamül3-malzeme2
MODEL2-yarımamül2-yarımamül3-malzeme3
MODEL2-yarımamül2-yarımamül3-malzeme4
fdquery ile kullandığım sorgu şu şekilde,
Kod: (Select All)
SELECT BOMLINE.BOMMASTERREF, ITEMS.Malzeme_adi, BOM.NAME FROM BOMLINE INNER JOIN BOM ON (BOMLINE.BOMMASTERREF = BOM.LOGICALREF) INNER JOIN ITEMS ON (BOMLINE.ITEMREF=ITEMS.ID) WHERE BOMLINE.LINETYPE=2 ORDER BY BOM.NAME, ITEMS.Malzeme_aditüm kodlarım ise şu şekilde,
Kod: (Select All)
procedure TMalzemelerForm.Button2Click(Sender: TObject);
var
CurrentDeptID, RecordDeptID: Integer;
RootNode, DeptNode: TTreeNode;
begin
CurrentDeptID := 0;
Treeview1.Items.Clear;
RootNode := Treeview1.Items.Add(nil, 'RECETE');
DeptNode := nil;
FDQuerym.SQL.Text := 'SELECT BOMLINE.BOMMASTERREF, ITEMS.Malzeme_adi, BOM.NAME FROM BOMLINE INNER JOIN BOM ON (BOMLINE.BOMMASTERREF = BOM.LOGICALREF) INNER JOIN ITEMS ON (BOMLINE.ITEMREF=ITEMS.ID) WHERE BOMLINE.LINETYPE=2 ORDER BY BOM.NAME, ITEMS.Malzeme_adi';
FDQuerym.Open;
try
FDQuerym.First;
while not FDQuerym.Eof do
begin
RecordDeptID := FDQuerym.FieldByName('BOMMASTERREF').AsInteger;
if (DeptNode = nil) or (RecordDeptID <> CurrentDeptID) then
begin
DeptNode := Treeview1.Items.AddChild(RootNode, FDQuerym.FieldByName('NAME').AsString);
CurrentDeptID := RecordDeptID;
end;
Treeview1.Items.AddChild(DeptNode, FDQuerym.FieldByName('Malzeme_adi').AsString);
FDQuerym.Next;
end;
finally
FDQuerym.Close;
end;
end;bu komutlar ile 1 adet child oluşturabiliyorum ama sonsuz child olmuyor. nasıl yapabilirim
şimdiden teşekkür ederim.
There is no place like "127.0.0.1"
"Vatanını en çok seven, görevini en iyi yapandır."
"Vatanını en çok seven, görevini en iyi yapandır."

