Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.19;
Скачать: CL | DM;

Вниз

Почему у меня исчезает   Найти похожие ветки 

 
MikeFW   (2002-08-06 12:47) [0]

Уважаемые Мастера,
подскажите, пожалуйста, в следующей ситуации,
возникающей при воспроизведении ниже приведенного кода

ситуация: при первом нажатии на [+] у узла первого уровня,
построенного в TreeView2, [+] просто исчезает,
если же два раза щелкнуть мышкой на названии узла,
то второй уровень нормально строится и открывается,
и кстати, если уровень уже однжды открывался
и закрывался, то его повторно уже можно открыть нажав на [+] -
и все откроется нормально.

в чем тут моя ошибка, почему при нажатии на [+],
он исчезает, а не открывает второй уровень, как это
происходит при двойном клике мышкой на названии?


//---------------------------------------------------------------// Построение первого уровня дерева
//---------------------------------------------------------------
Procedure TForm1.TypeModeMark;
var
Node: TTreeNode;
begin
q1.Open;
while not q1.Eof do begin
Node := TreeView2.Items.Add(nil, q1.FieldByName("INVTYPEID").Value);
TreeView2.Items.AddChild(Node, "");
q1.Next;
end;
q1.Close;
End;

//---------------------------------------------------------------
// Построение второго уровня дерева
//---------------------------------------------------------------
procedure TForm1.TreeView3Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
NewNode: TTreeNode;
begin
Node.DeleteChildren;

q1.Open;
with q1 do
Locate("RECID", TreeView2.Selected.Text, [loCaseInsensitive]);
q2.Open;
while not q2.Eof do
begin
NewNode := TreeView2.Items.AddChild(TreeView2.Selected, q2.FieldByName("INVKINDID").Value);
TreeView2.Items.AddChild(NewNode, "");
q2.Next;
end;
q2.Close;
q1.Close;
end;

// SQL запрос q1
select * from TABLE1

// SQL запрос q2
// связан с q1 через DataSource1
select * from TABLE2 where RECID =:RECID


 
MikeFW   (2002-08-06 13:50) [1]



 
KSergey ©   (2002-08-06 14:04) [2]

Не уверен, но сильно подозреваю, что необходимо AllowExpansion установить в True, если узел корректно заполнен дочерними данными, чего у Вас в коде не увидел.


 
MikeFW   (2002-08-06 14:30) [3]

подскажите, пожалуйста, а в каком месте и как надо "AllowExpansion установить в True"?


 
Polevi ©   (2002-08-06 15:03) [4]

procedure TForm1.TreeView3Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
NewNode: TTreeNode;
begin
Node.DeleteChildren;
AllowExpansion:=false;

q1.Open;
with q1 do
Locate("RECID", TreeView2.Selected.Text, [loCaseInsensitive]);
q2.Open;
while not q2.Eof do
begin

AllowExpansion:=true;

NewNode := TreeView2.Items.AddChild(TreeView2.Selected, q2.FieldByName("INVKINDID").Value);
TreeView2.Items.AddChild(NewNode, "");
q2.Next;
end;
q2.Close;
q1.Close;
end;



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

Текущий архив: 2002.08.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
6-60796
Alexandr 413
2002-06-06 05:53
2002.08.19
Синхронизация времени через интернет


14-60849
OlegatoR
2002-07-25 10:11
2002.08.19
На наш астероид летит 6500 километровая планета


4-60910
MARcoDEN
2002-06-10 20:28
2002.08.19
Как узнать хэндл другой программы?


3-60497
Виталий Панасенко
2002-07-19 09:14
2002.08.19
Работа с полями типа


14-60827
AL2002
2002-07-24 16:23
2002.08.19
Always, AllDays, TmpX etc.