Главная страница
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.012 c
1-60717
ReZOnAnS
2002-08-07 07:05
2002.08.19
Обработка параметров


6-60791
Valeriy
2002-05-31 22:44
2002.08.19
Проверка почты


8-60760
Whitewolf
2002-03-26 13:06
2002.08.19
GLScene и Delphi 6


1-60570
alexsandri
2002-08-07 18:18
2002.08.19
как програмно


3-60543
NDR
2002-07-30 11:55
2002.08.19
УВАЖАЕМЫЕ МАСТЕРА ! ДВЕ БД НЕ РАБОТАЮТ СОВМЕСТНО =((