Вниз
Скачать: CL | DM;

Разварот узла.   Найти похожие ветки 

 
Kolobok   (2011-06-25 08:47) [0]

Здравствуйте. Пытаюсь сделать многоуровненвый древовидный список но при развороте первого же узла выдаётся ошибка. Подскажите в чём проблема.

//Заполнение верхнего уровня
procedure TForm1.FormShow(Sender: TObject);
var nod: TTreeNode;
begin
Query.Close;
Query.SQL.Clear;
Query.SQL.Add("select * from class");
Query.Open;
TreeView1.Items.Clear;
while not Query.Eof do
begin
SetLength(classArr, Length(classArr) + 1);
nod := TreeView1.Items.Add(nil, Query.FieldValues["Class"]);
classArr[length(classArr) - 1] := Query.FieldValues["Index"];
nod.Data := Ptr(length(classArr) - 1);
nod.HasChildren := true;
TreeView1.Items.AddChild(nod, "~");
Query.Next;
end;
Query.Close;
end;

///Разварот узла. Тут происходит ошибка
procedure TForm1.TreeView1Expanded(Sender: TObject; Node: TTreeNode);
var tmp: TTreeNode;
begin
if Node.getFirstChild.Text = "~" then
case Node.Level of
0:
begin
Query1.SQL.Text := "select * from object where index2 = :index;";
Query1.Params.Clear;
Query1.Params.CreateParam( ftInteger, "index", ptInput);
end;
1:
begin
Query1.SQL.Text := "select * from Propetries where index2 = :index1;";
Query1.Params.Clear;
Query1.Params.CreateParam( ftInteger, "index1",  ptInput);
end;
end;
Query1.Open;
while not Query1.Eof do
begin
case Node.Level of
0:
begin
SetLength(objArr, Length(objArr) + 1);
tmp := TreeView1.Items.Add(Node, Query1.FieldValues["Object"]);
objArr[length(objArr) - 1] := Query1.FieldValues["Index1"];
tmp.Data := Ptr(length(objArr) - 1);
tmp.HasChildren := true;
TreeView1.Items.AddChild(tmp, "~");
end;
1:
begin
SetLength(propArr, Length(propArr) + 1);
tmp :=TreeView1.Items.Add(Node, Query1.FieldValues["propetries"]);
propArr[length(propArr) - 1] := Query1.FieldValues["Index2"];
tmp.Data := Ptr(length(propArr) - 1);
tmp.HasChildren := true;
TreeView1.Items.AddChild(tmp, "~");
end;
end;
Query1.Next;
end;
Query1.Close;
end;


 
Kolobok   (2011-06-25 08:57) [1]

Ошибка: http://i.piccy.info/i5/75/52/1665275/123112312122aea.jpg


 
Kolobok   (2011-06-25 11:05) [2]

А всё. Эту проблему я решил. Просто пропустил букву в запросе.
Но, почему то, нижние уровни всё равно не появляются.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.009 c
15-1308570020
Sergey
2011-06-20 15:40
2011.10.16
оживет ли винт?


2-1309187909
ShegAI
2011-06-27 19:18
2011.10.16
StayOnTop при длительных операциях


15-1308503421
alexdn
2011-06-19 21:10
2011.10.16
9-й эксплорер


15-1308555247
DiamondShark
2011-06-20 11:34
2011.10.16
А вы в компьютерах разбираетесь?


2-1308890972
Wryyyyyy
2011-06-24 08:49
2011.10.16
Query.Parameters




   Наверх