|
|
|
| Привет, народ.
Подскажите плиз такую штуку. На форме есть дерево.
Накладная
......номер 1
......номер 2
По первой ветке (накладная) правой клавишей - добавить - открывается форма для ввода номера. Ввели, закрыли форму ввода, на дереве срабатывает код:
Clear
И далее функция заполнения дерева.
Вот после этого снова приходится искать ту ветку, в которой добавляли. А можно ли сделать так, чтобы автоматически выделялся тот номер накладной, который был только что добавлен. Скажем добавили "номер 3", закрыли форму ввода, и как бы клик уже был на этом номере 3
Накладная
......номер 1
......номер 2
......номер 3 - только что был введен, выделен и т.д. (чтобы не искать его после ввода) | |
|
| |
|
|
|
| 1. зачем очищать дерево? Можно посто добавить ноду в нужное место дерева
2. Не уверен, но
не поможет?
на сайте есть пример по treeview (Сидоровой Марины) в нем вроде реализовано добавление узлов | |
|
| |
|
|
|
| Спасибо. Этот пример у меня даже на компе есть, но разобрать его что к чему - дело далекого будущего. Не все так просто. Но эффект тот самый. Добавили - сразу выделили новый без перезагрузки дерева. Черт, как-то там очень всего много и непонятно. | |
|
| |
|
|
|
| код добавленного известен. запускаем поиск и все. Например:
Sub TvSearchNodes(StrSearch As String)
Dim i As Node
Dim IParent As Node
For Each i In Me.TV.Nodes
If InStr(1, i.Text, StrSearch) > 0 Then
TV_NodeClick i 'TV_NodeClick - процедура на клик
Me.TV.SetFocus
Exit For
Exit Sub
End If
Next i
Me.TV.SetFocus
End Sub
|
| |
|
| |
|
|
|
| Это случаем не поиск по дереву?
Dim IParent As Node
Но в коде этой переменной не фигурирует. Ничего не пропущено? | |
|
| |
|
|
|
| Это поиск по дереву.
На форме объект TreeCtrl( MSComctlLib.TreeCtrl.2).
Переменная лишняя, наверное осталась - была для чего-то. | |
|
| |
|
|
|
| в деревьях можно сразу ноды фильтровать нужные :) | |
|
| |