|
|
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
У меня вопрос: как сделать так, чтобы при загрузке формы, на которой есть Treeview, дерево было развернутое, т.е. все вложенности до последнего уровня были раскрыты, а не только начальный уровень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 11:34 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
Пробегаешь по всем узлам и делаешь Expanded=true ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 11:57 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
Как работает Treeview я изучаю недавно, поэтому у меня еще многое не получается. Построить то я его постороила, а как обновлять не знаю. Дерево я строю так, на OnActivate вызываю функцию: Sub TreeLoad() tvwODE.Nodes.Clear Set rst = CurrentDb.OpenRecordset("SELECT * from YPSection Where YPSection.ParentID=0", dbOpenForwardOnly) While Not rst.EOF Set nodode = tvwODE.Nodes.Add(, , "in" & rst!YPSECTIONID, "" & rst!NAME) nodode.Image = 2 nodode.Expanded = True 'разворачиваю узел str1 = "Select * from YPSection where ParentID=" & rst!YPSECTIONID Set rst1 = CurrentDb.OpenRecordset(str1, dbOpenForwardOnly) While Not rst1.EOF Set nodode = tvwODE.Nodes.Add("in" & rst!YPSECTIONID, tvwChild, "inin" & rst1!YPSECTIONID, "" & rst1!NAME) nodode.Image = 1 nodode.Expanded = True ' дочерний узел разворачиваю rst1.MoveNext Wend ' rst.MoveNext Wend При добавлении узла из другой формы, надо перерисовать дерево, выделить новый узел. По событию Activate дерево перересуется, но вот как быть с нужным узлом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 13:04 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
А зачем перерисовывать? .Nodes.Add selectedNode.EnsureVisible selectedNode.Selected = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 13:13 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
У меня добавление идет в таблицу, поэтому надо обновить дерево. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 13:17 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
Ну так ты и в таблицу запиши, и в дерево добавь: Dim cmd As New Command, prm As New Parameter, nd As New Node cmd.ActiveConnection = CurrentProject.Connection cmd.CommandText = "dbo.Proc_AddCategory" cmd.CommandType = adCmdStoredProc Set prm = cmd.CreateParameter("@Parent_category_id", adInteger, adParamInput, , s2k(CategoriesTree.SelectedItem.Key)) cmd.Parameters.Append prm Set prm = cmd.CreateParameter("@Category_id", adInteger, adParamOutput) cmd.Parameters.Append prm Set prm = cmd.CreateParameter("@Category_name", adVarChar, adParamOutput, 255) cmd.Parameters.Append prm cmd.Prepared = False cmd.Execute Set nd = Me!CategoriesTree.Nodes.Add(Me!CategoriesTree.SelectedItem.Key, tvwChild, k2s(cmd.Parameters(1)), cmd.Parameters(2)) nd.EnsureVisible nd.Selected = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 13:21 |
|
||
|
Развернутое дерево
|
|||
|---|---|---|---|
|
#18+
Забыл прокоментировать - выполняем хп, с параметрами (родительсктй элемент и новое имя), которая добавляет в таблицу элемент. Процедура возвращает код нового элемента, и спокойненько лепим его в контрол на нужное место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2003, 13:26 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1722&tid=1678278]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 361ms |

| 0 / 0 |
