![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 04.05.2008
Сообщений: 42
|
![]()
При таком вызове работает
procedure TForm1.CatLabelClick(Sender: TObject); // СТРОИМ ДЕРЕВО КАТЕГОРИЙ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! НАЧАЛО var CatCount:integer; //количство записей в таблице категорий MenuCount:integer; //количство записей в таблице записей меню tnod: TTreeNode; //точки в дереве mnod: TTreeNode; //точки в дереве itnod: integer; //для счетчика i:integer; //для счетчика begin MenuCatSource.Enabled:=False; MenuCatSource.Enabled:=True; MenuTreeView.Visible:=False; MenuItemSDataSet.Active:=False; MenuItemSDataSet.Active:=True; MenuCatSDataSet.First; itnod:=0; MenuTreeView.Items.Clear; MenuTreeView.Images:=ManagerImageLi st; while itnod < MenuCatSDataSet.RecordCount do begin if (DBTextCatParent.Caption='00CatIsAp sent') then //тут наполняем корень дерева begin tnod:=MenuTreeView.Items.AddChild(M enuTreeView.Selected,DBTextCatName. Caption); end else //тут наполняем детей (подкатегории) begin for i:=0 to MenuTreeView.Items.Count-1 do begin if MenuTreeView.Items[i].Text=DBTextCatParent.Caption then MenuTreeView.Items[i].Selected:=true; end; tnod:=MenuTreeView.Items.AddChild(M enuTreeView.Selected,DBTextCatName. Caption); end; itnod:=itnod+1; MenuCatSDataSet.Next; MenuTreeView.FullCollapse; end; itnod:=0; MenuCatSDataSet.First; // СТРОИМ ДЕРЕВО КАТЕГОРИЙ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!! MenuTreeView.Visible:=True; ManagerStatusBar.Panels[0].Text:=StatusBar_Cat_Count + ':' + IntToStr(MenuCatSDataSet.RecordCoun t)+'.'; end; Делаю через функцию Function BuildDBTree(FTreeView: TTreeView; TreeDataSet: TSimpleDataSet; CatName: TDBText; CatParent: TDBText; ImageList: TImageList):Boolean; var CatCount:integer; //количство записей в таблице категорий MenuCount:integer; //количство записей в таблице записей меню tnod: TTreeNode; //точки в дереве mnod: TTreeNode; //точки в дереве itnod: integer; //для счетчика i:integer; //для счетчика begin FTreeView.Visible:=False; TreeDataSet.Active:=False; TreeDataSet.Active:=True; TreeDataSet.First; itnod:=0; FTreeView.Items.Clear; FTreeView.Images:=ImageList; while itnod < TreeDataSet.RecordCount do begin if (CatParent.Caption='00CatIsApsent') then begin tnod:=FTreeView.Items.AddChild(FTre eView.Selected,CatName.Caption); end else begin for i:=0 to FTreeView.Items.Count-1 do begin if FTreeView.Items[i].Text=CatParent.Caption then FTreeView.Items[i].Selected:=true; end; tnod:=FTreeView.Items.AddChild(FTre eView.Selected,CatName.Caption); end; itnod:=itnod+1; TreeDataSet.Next; FTreeView.FullCollapse; end; itnod:=0; TreeDataSet.First; FTreeView.Visible:=True; end; procedure TForm1.Button1Click(Sender: TObject); begin BuildDBTree(MenuTreeView,MenuItemSD ataSet,DBTextCatName,DBTextCatParen t,ManagerImageList); end; ноль имоций помогите незамыленым глазом |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Может не хватает одного параметра ?
------------------------- MenuItemSDataSet.Active:=True; MenuCatSDataSet.First; itnod:=0; MenuTreeView.Items.Clear; MenuTreeView.Images:=ManagerImageLi st; while itnod < MenuCatSDataSet.RecordCount -----> TreeDataSet.Active:=True; TreeDataSet.First; itnod:=0; FTreeView.Items.Clear; FTreeView.Images:=ImageList; while itnod < TreeDataSet.RecordCount ---------------- TreeDataSet = MenuItemSDataSet |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 04.05.2008
Сообщений: 42
|
![]()
Нет проблема не в этом
это опечатка изза нее не обновлялось я её уже подправил но функция всеравно не строит ![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 04.05.2008
Сообщений: 42
|
![]()
Все разобрался
мой касяк )) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите с функцией | 1234 | Общие вопросы Delphi | 5 | 30.08.2008 10:55 |
помогите. массив не взамодействует с функцией. какая-то ошибка стека. | koir | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 10.06.2008 08:32 |
помогите с функцией CopyFile | vizor9 | Свободное общение | 16 | 16.06.2007 20:13 |
Глюк с функцией PolyBezier | Kuzya | Общие вопросы Delphi | 1 | 02.06.2007 01:50 |
помогите с функцией | zetrix | Microsoft Office Excel | 0 | 31.10.2006 07:32 |