^^ 넘 초보라서요.. 조언을 부탁드립니다..꾸뻑!
DB에 자료가 3개의 필드로 들어가있어요..
01 - 0 - 00
01 - 1 - 00
01 - 1 - 01
01 - 1 - 02
01 - 2 - 00
01 - 2 - 01
02 - 0 - 00
02 - 1 - 00
...
이것을 TreeView에
------------
01
1
1
2
2
1
02
1
------------
이렇게 나타내고 싶은데요..
쿼리문 날려서 not eof될때까지...해서
01 - 1 - 02 을 추가한후 01 - 2 - 00을 넣을려고
상위 Node로 TreeView.Selected를 올리고 싶거든요..
어떻게 하면 되는지 ㅋㅋ
한수 부탁드립니다.....^^?
==> 노드 Depth를 보면 01 - 1 - 02 에서 01 이 1, 1 이 2, 02 가 2 이죠.
요렇게 하시면 되겠네요..
procedure TForm1.Button1Click(Sender: TObject);
function GetTreeNode(AParent: TTreeNode; AText: String;
ACreateIfNotExists: Boolean = False): TTreeNode;
var
Node: TTreeNode;
begin
Result := nil;
if AParent <> nil then
Node := AParent.getFirstChild
else
Node := Treeview.Items.GetFirstNode;
while Node <> nil do
begin
if Node.Text = AText then
begin
Result := Node;
Break;
end;
Node := Node.getNextSibling;
end;
if ACreateIfNotExists and (Result = nil) then
Result := Treeview.Items.AddChild(AParent, AText);
end;
function CreateTreeNode(AF1, AF2, AF3: String): TTreeNode;
begin
Result := GetTreeNode(nil, AF1, True);
Assert(Result <> nil, 'Check1');
Result := GetTreeNode(Result, AF2, True);
Assert(Result <> nil, 'Check2');
Result := GetTreeNode(Result, AF3, True);
Assert(Result <> nil, 'Check3');
end;
begin
with CreateTreeNode(Edit1.Text, Edit2.Text, Edit3.Text) do
Selected := True;
end;