Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Добавление узлов в Treeview 
:(
    Опции темы
ZBugz
  Дата 12.10.2011, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 636
Регистрация: 15.2.2006
Где: Москва

Репутация: 6
Всего: 6



Цитата(neo7777 @ 11.10.2011,  18:53)
Цитата(ZBugz @ 11.10.2011,  13:45)
http://drkb3.narod.ru/virtualtreeview_faq_ii_eiiiiia.htm

Спасибо БОЛЬШОЕ!!! ))
Жалко, не могу поставить плюсик к вашей репутации, не хватает количество постов.... очень помогли...

Пожалуста smile 
Это кстати еще не все smile 
Все остальное в архиве smile

Добавлено через 41 секунду
А это сам компонент, последние сборки http://virtual-treeview.googlecode.com/svn/trunk/

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  Q.rar 297,77 Kb
PM MAIL   Вверх
bistropoke
Дата 26.10.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 26.10.2011

Репутация: нет
Всего: нет



подскажите в чем может быть ошибка?

в самом начале я заполняю VST нодами нулевого уровня.

Код

 squery:='select idtype_params as id,name from type_params where level =0';
     form1.SQLQuery1.SQL.Clear;
     form1.SQLQuery1.SQL.Text :=  squery;
     form1.SQLQuery1.Open;
     while not form1.SQLQuery1.EOF do begin
       nodename:= form1.SQLQuery1.FieldByName('name').AsString;
       nodeid:=form1.SQLQuery1.FieldByName('id').AsInteger;
       nodelevel:= 0  ;
       XNode:=form1.VT.AddChild(nil);
       if form1.VT.AbsoluteIndex(xnode)>-1 then
        begin
          data:= form1.vt.GetNodeData(xnode);
          data^.name:=nodename;
          data^.id:=nodeid;
          data^.level:=0;
          data^.parent:=-1;
        end;
     form1.SQLQuery1.Next;
     end;
     form1.SQLQuery1.Close;     


затем мне нужно добавлять потомков основываясь на условии что parent потомка = id родителя.

Код

squery:='select tp.idtype_params as id,tp.name,tp.parent, tp.sname, nei.name as edizm from type_params as tp join nsi_edizm as nei on tp.ediz_m=nei.idnsi_edizm where tp.level = '+inttostr(y);
     form1.SQLQuery1.SQL.Clear;
     form1.SQLQuery1.SQL.Text :=  squery;
     form1.SQLQuery1.Open;
      while not form1.SQLQuery1.EOF do begin
       nodename:= form1.SQLQuery1.FieldByName('name').AsString;
       nodeid:=form1.SQLQuery1.FieldByName('id').AsInteger;
       nodelevel:= y;
       nodeparent:= form1.SQLQuery1.FieldByName('parent').AsInteger;
       nodeedizm:= form1.SQLQuery1.FieldByName('edizm').Asstring;
       nodesname:= form1.SQLQuery1.FieldByName('sname').AsString;
      // находим родителя
       XNode:= form1.VT.GetFirst;
        while XNode <> nil do
          begin
              Data:=form1.VT.GetNodeData(XNode);
              if Data^.id  = nodeparent then
                  begin
                        form1.VT.ClearSelection;
                        form1.VT.Selected[XNode]:=True;
                        form1.VT.SetFocus;
                        break;
                  end else
           XNode:= form1.VT.GetNextSibling(XNode);
        end;
       // добавляем ноду
          XNode := form1.VT.AddChild(form1.VT.FocusedNode);
          data:= form1.vt.GetNodeData(xnode);
          data^.name:=nodename;
          data^.id:=nodeid;
          data^.level:=y;
          data^.parent:=nodeparent;
          data^.edizm:=nodeedizm;
          data^.sname:=nodesname;

     form1.SQLQuery1.Next;
     end;
     form1.SQLQuery1.Close;         

однако несмотря на то что 
Код

form1.VT.ClearSelection;
form1.VT.Selected[XNode]:=True;
form1.VT.SetFocus;

отрабатывает нода добавляет в корень


M
bems
Модератор: один топик - один вопрос


Это сообщение отредактировал(а) bems - 26.10.2011, 19:41
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.