Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: TreeView в VB.NET Добавлено: 14.11.03 14:37  

Автор вопроса:  .COM | ICQ: 212158853 

Всем приветы....

Есть дерево:

Предприятие1

...........Выручка

...........Затраты

...........Адрес

...........и т.д.

Предприятие2

...........Выручка

...........Затраты

...........Адрес

...........и т.д.

Предприятие N

...........и т.д.

Короче, предприятий может быть сколько угодно. Свойство Text у всех дочерних нод одинаковое (т.е. по этому свойству невозможно однозначно идентифицировать  дочернюю ноду). В свойстве Tag для родительской ноды (Предприятие) записываются названия таблиц в базе данных.

Таким образом, предположим получаем такую ситуацию...Юзер развернув несколько веток Предприятие1, Предприятие6, Предприятие28, думает чего бы ему посмотреть, а потом щелкает по какой-либо дочерней ноде.

А вот и собственно вопросы:

Как, блин, определить к какому родителю относится дочерняя нода, чтоб соответственно считать ее Tag и отправить запрос в базу...?

Как программно найти/выделить определенную ноду (т.е. есть ли у каждой ноды уникальный идентификатор с точки зрения всего контрола независимо от того родительская она или дочерняя)?

P.S. Теоретически (хоть и маловероятно) может случится ситуация когда и наименования родителей (Предприятия) будут одинаковыми, поэтому не подходит такой вариант как  считать из дочерней ноды путь и вытащить оттуда наименование родителя...В идеале хотелось бы иметь уникальный идентификатор для каждой ноды в контроле. (еще один вопрос)

Код готовый не прошу, подскажите хотя бы, в какую сторону и как долго рыть :-)

Ответить

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

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



ICQ: 262385618 

Вопросов: 43
Ответов: 205
 Профиль | | #1 Добавлено: 14.11.03 17:19
Dim pr1 As TreeNode
Dim pr2 As TreeNode

pr1 = New TreeNode("predpr1")
pr2 = New TreeNode("predpr2")

Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
If e.Node.Parent Is pr1 Then
'ВЫбрали "predpr1"
Select Case e.Node.Index
Case 0

Case 1

End Select
End If
If e.Node.Parent Is pr2 Then
'ВЫбрали "predpr2"
Select Case e.Node.Index
Case 0

Case 1

End Select
End If

End Sub

Ответить

Номер ответа: 2
Автор ответа:
 .COM



ICQ: 212158853 

Вопросов: 4
Ответов: 79
 Профиль | | #2 Добавлено: 15.11.03 02:03

...нда, Света...Естественно работает. Спасибо. Ты мне этим примером объяснила намного больше чем может показаться...

А я что-то в трех соснах заблудился...

Ответить

Номер ответа: 3
Автор ответа:
 Svetlana



ICQ: 262385618 

Вопросов: 43
Ответов: 205
 Профиль | | #3 Добавлено: 15.11.03 14:06
Я радуюсь вместе с тобой :))))  
И все таки ТЫ  ЕГО, а не ОН ТЕБЯ.. (чат)

Ответить

Страница: 1 |

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



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