Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.08.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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


 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
1-60577
BAY
2002-08-07 22:11
2002.08.19
CreateProcess


14-60824
Alx2
2002-07-24 09:49
2002.08.19
На Землю летит двухкилометровый астероид


1-60711
dimushkin
2002-08-06 22:48
2002.08.19
ScrollBox


6-60789
Dobriy
2002-06-07 21:39
2002.08.19
Вопрос по WNetCancelConnection2.


14-60805
kaif
2002-07-23 14:43
2002.08.19
Вызов оглавления Help (NT4)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский