Главная страница
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.01 c
4-60909
INCOGNITO
2002-06-16 18:38
2002.08.19
Путь до моего приложения


1-60648
Leran2002
2002-08-08 15:16
2002.08.19
InstallShield


6-60780
Captain
2002-06-04 17:28
2002.08.19
Программа-шпион


1-60652
Андрусь
2002-08-05 20:46
2002.08.19
Помогите разобраться


1-60615
kofman
2002-08-08 00:35
2002.08.19
Как узнать размер файла на ервере без скаивания файла