Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: treeview Добавлено: 22.01.07 13:08  

Автор вопроса:  Antibiotic
Работаю с элементом treeview в VB6..

Подскажите как можно сделать чтобы в нем можно было переместить нижестоящий раздел (со всем прилагаемым деревом) над вышестоящим..

Ответить

  Ответы Всего ответов: 17  

Номер ответа: 1
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #1 Добавлено: 22.01.07 13:32
если такое вообще возможно..

Ответить

Номер ответа: 2
Автор ответа:
 astoro



ICQ: 649109 

Вопросов: 31
Ответов: 391
 Профиль | | #2 Добавлено: 22.01.07 14:53
наверное достаточно изменить родителя для раздела, и все что в разделе за ним пойдет.

Ответить

Номер ответа: 3
Автор ответа:
 Dick Johnson



Вопросов: 0
Ответов: 2
 Профиль | | #3 Добавлено: 22.01.07 15:42
наверное достаточно изменить родителя для раздела, и все что в разделе за ним пойдет.
Вообще-то да, но если я правильно понял, то Antibiotic решает ту же проблему что и я. И тогда нужно переместить раздел внутри одного родителя.

Я никак не могу найти свойство которое отвечало бы за положение нода в рамках непосредственного родителя. index отвечает за общий индекс среди всех деревьев.

Ответить

Номер ответа: 4
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #4 Добавлено: 22.01.07 16:12
наверное достаточно изменить родителя для раздела, и все что в разделе за ним пойдет

каким образом ты предлагаешь сменить родителя?

Я никак не могу найти свойство которое отвечало бы за положение нода в рамках непосредственного родителя. index отвечает за общий индекс среди всех деревьев.

есть идею присвоить значения дерева массиву и построить его заново с нужными изменениями..
вот только у меня не получается подсчитать каким размером должен быть двумерный массив (первое число должно равняться количеству корневых разделов.. второе - максимальному количеству подразделов в одном из разделов)..

Ответить

Номер ответа: 5
Автор ответа:
 Dick Johnson



Вопросов: 0
Ответов: 2
 Профиль | | #5 Добавлено: 22.01.07 19:28
каким образом ты предлагаешь сменить родителя?
У меня раздел применяется драг-н-дропом. nodDragged - это подхваченый раздел, tvw.DropHighlight - ветка дерева на которую перетащили курсор. так что все делается просто
nodDragged.Parent = tvw.DropHighlight

т.е. той ветке которую переносишь свойству Parent присваиваешь ту ветку к которой он будет дочерним.

Ответить

Номер ответа: 6
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #6 Добавлено: 23.01.07 02:32
раздел меняется но они дописываются снизу..

treeview - это получается база данных..
как можно достать оттуда все дерево без потери структуры?

Ответить

Номер ответа: 7
Автор ответа:
 Bombardier



ICQ: 42305746 

Вопросов: 2
Ответов: 67
 Web-сайт: alexander.tsioka.ru
 Профиль | | #7
Добавлено: 23.01.07 17:49
ну мне когда в базу нужно было дерево запихнуть, я просто добавлял поле parent и все ))) отлично потом восстанавливается...

Ответить

Номер ответа: 8
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #8 Добавлено: 24.01.07 02:10
2Bombardier
можешь показать код как например присвоить дерево массиву? или вообще как можно передать дерево в переменную.. может я ошибаюсь с массивом..

Ответить

Номер ответа: 9
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #9
Добавлено: 24.01.07 08:45
Antibiotic, ты ошибаешься в корне ;)

Не, для того, чтобы не только перемещать разделы в другие подразделы, но и перемещать раздел в пределах одного раздела (тогда, когда важен порядок разделов) - надо использовать константы относительного положения элементов дерева: tvwFirst, tvwNext, tvwPrevious, tvwLast и, если надо, другие. А при построении дерева из таблицы базы данных или из массива действительно обычно всегда хватит одной tvwChild, как у Bombardier'а

Ответить

Номер ответа: 10
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #10
Добавлено: 24.01.07 08:57
Константы при построении, при создании новых узлов в уже построенном дереве, а для перемещения попробуй свойства элемента (item) узла (node):

.Root
.FirstSibling
.Next
.Previous
.LastSibling
.Parent

Ответить

Номер ответа: 11
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #11 Добавлено: 24.01.07 09:43
2mc-black
пишет "Argument not optional" и указывает на .Item

я пробовал.. сюда я полез после того как перепробовал все методом научного тыка..
выдает или такую ошибку или что свойство является константой и не может быть изменено..

покажи пожалуста на примере..

Ответить

Номер ответа: 12
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #12
Добавлено: 24.01.07 12:22
свойство только для чтения.. хм, а .Parent разве тоже только для чтения? можно перестраивать хотя бы в пределах дочерних по отношению в родителю, куда перетаскиваешь элемент. кода у меня нет ;) ну перестраивать всю ветку заново это плохой выход, т.к. гораздо медленнее работать будет когда много данных. если ничего больше не остается - делай рекурсию - перестраивай всё дерево или его часть.

Ответить

Номер ответа: 13
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #13 Добавлено: 28.01.07 02:47
мне не надо менять родителя.. мне в пределах одного родителя поменять местами..

а также самих родителей в корневом менять местами..
данных должно быть не много.. не больше 100 веток второго уровня.. иначе просто в дереве смысл отпадет-станет неудобная навигация по записям..

досадно что никто так и не сказал наверняка о возможностях дерева (

Ответить

Номер ответа: 14
Автор ответа:
 Antibiotic



Вопросов: 9
Ответов: 34
 Профиль | | #14 Добавлено: 28.01.07 02:50
есть вероятность что в дереве нет такой функции как смена положения веток и есть только сортировка по алфавиту..

кто нибудь может подтвердить или опровергнуть?

Ответить

Номер ответа: 15
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #15
Добавлено: 28.01.07 21:11
поскольку свойства
.FirstSibling
.Next
.Previous
.LastSibling
все только для чтения (сам только проверил), значит такой встроенной возможности нет - есть тоько программная возможность, т.е. если ты в своей программе сам реализуешь нужные тебе методы путем перестройки той части дерева, что тебе необходимо.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам