0 / 0 / 0
Регистрация: 30.03.2016
Сообщений: 13
1

Поиск по treeview загруженными данными из xml

21.10.2021, 18:32. Показов 1302. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста как произвести поиск в treeview из textbox с удалением не совпадающих кроме тех что имеют это слово.
Поиск во всех вложениях
Зарание спасибо за помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.10.2021, 18:32
Ответы с готовыми решениями:

Разместить в ComboBox текст не связанный с данными, загруженными из БД
В комбобокс надо чтобы при запуске была видна введенная мною строка, типа "выберите нужное". Но...

(Silverligth) Заполнение TreeView XML-данными
Доброго времени суток. Подскажите, каким образом можно этого добиться ? XElement xe =...

Поиск узла в XML и вставка его в TreeView
Как сделать проверку что узел с такой то позицией есть в XML файле, и если узел есть в XML то...

Опросник. Создание дерева зависимостей в treeView, сохранение дерева в XML, построение дерева в treeView из XML
Всем доброго времени суток. Тема является продолжением вот этой темы. Создаю 2ю, так как там...

5
1974 / 1408 / 365
Регистрация: 26.06.2017
Сообщений: 4,004
21.10.2021, 19:34 2
Код наполнения TreeView и Ваши попытки самостоятельно решить задачу в студию.
0
0 / 0 / 0
Регистрация: 30.03.2016
Сообщений: 13
21.10.2021, 20:05  [ТС] 3
наполнение идет через модуль LoadTreeViewData скаченый из интернета

TreeViewDataAccess.LoadTreeViewData(TV, AppPath & "\Base\base.xml")

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

Добавлено через 9 минут
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Option Strict On
 
Public Class TreeViewDataAccess
 
#Region "Structures"
 
    <Serializable()> Public Structure Soft
 
        Public Nodes() As Recept
 
        Public Sub New(ByVal treeview As TreeView)
            If treeview.Nodes.Count = 0 Then Exit Sub
 
            ReDim Nodes(treeview.Nodes.Count - 1)
            For i As Integer = 0 To treeview.Nodes.Count - 1
                Nodes(i) = New Recept(treeview.Nodes(i))
            Next
        End Sub
 
        Public Sub PopulateTree(ByVal treeview As TreeView)
            If Me.Nodes Is Nothing OrElse Me.Nodes.Length = 0 Then Exit Sub
 
            treeview.BeginUpdate()
            For i As Integer = 0 To Me.Nodes.Length - 1
                treeview.Nodes.Add(Me.Nodes(i).ToTreeNode)
            Next
            treeview.EndUpdate()
        End Sub
 
    End Structure
 
    <Serializable()> Public Structure Recept
 
        Public Text As String
        Public ImageIndex As Integer
        Public SelectedImageIndex As Integer
        Public Checked As Boolean
        Public Expanded As Boolean
        Public Tag As Object
        Public Nodes() As Recept
 
        Public Sub New(ByVal node As TreeNode)
            Me.Text = node.Text
            Me.ImageIndex = node.ImageIndex
            Me.SelectedImageIndex = node.SelectedImageIndex
            Me.Checked = node.Checked
            Me.Expanded = node.IsExpanded
 
            If (Not node.Tag Is Nothing) AndAlso node.Tag.GetType.IsSerializable Then Me.Tag = node.Tag
 
            If node.Nodes.Count = 0 Then Exit Sub
 
            ReDim Nodes(node.Nodes.Count - 1)
            For i As Integer = 0 To node.Nodes.Count - 1
                Nodes(i) = New Recept(node.Nodes(i))
            Next
        End Sub
 
        Public Function ToTreeNode() As TreeNode
            ToTreeNode = New TreeNode(Me.Text, Me.ImageIndex, Me.SelectedImageIndex)
            ToTreeNode.Checked = Me.Checked
            ToTreeNode.Tag = Me.Tag
            If Me.Expanded Then ToTreeNode.Expand()
 
            If Me.Nodes Is Nothing OrElse Me.Nodes.Length = 0 Then Exit Function
            For i As Integer = 0 To Me.Nodes.Length - 1
                ToTreeNode.Nodes.Add(Me.Nodes(i).ToTreeNode)
            Next
        End Function
 
    End Structure
 
#End Region
 
#Region "Public"
 
    Public Shared Sub LoadTreeViewData(ByVal treeView As TreeView, ByVal path As String)
        On Error Resume Next
        Dim ser As New System.Xml.Serialization.XmlSerializer(GetType(Soft))
        Dim file As New System.IO.FileStream(path, IO.FileMode.Open)
        Dim reader As New System.Xml.XmlTextReader(file)
 
        Dim treeData As BRESoftware = CType(ser.Deserialize(reader), Soft)
        treeData.PopulateTree(treeView)
 
        reader.Close()
        file.Close()
        file = Nothing
    End Sub
 
    Public Shared Sub SaveTreeViewData(ByVal treeView As TreeView, ByVal path As String)
        Dim ser As New System.Xml.Serialization.XmlSerializer(GetType(Soft))
        Dim file As New System.IO.FileStream(path, IO.FileMode.Create)
        Dim writer As New System.Xml.XmlTextWriter(file, Nothing)
 
        ser.Serialize(writer, New Soft(treeView))
 
        writer.Close()
        file.Close()
        file = Nothing
    End Sub
 
 
 
#End Region
 
End Class
0
1974 / 1408 / 365
Регистрация: 26.06.2017
Сообщений: 4,004
24.10.2021, 17:12 4
Если я не ошибаюсь, то структуры создаются в стеке потока, поэтому применение структур не совсем понятно, ну разве что из-за скорости обработки. Кроме того не понятно зачем вообще вводить структуры повторяющие класс TreeNode, почему бы не работать с TreeNode? В целом задачу надо решать с полным перестраиванием дерева TreeView при поиске, а оригинальное дерево хранить во временной переменной.
1
4407 / 3531 / 843
Регистрация: 02.02.2013
Сообщений: 3,417
Записей в блоге: 2
24.10.2021, 20:02 5
TreeView это лишь средство отображения данных. Если вы хотите что-то изменить - то изменять нужно данные, а затем отображать их уже измененные.
0
1974 / 1408 / 365
Регистрация: 26.06.2017
Сообщений: 4,004
24.10.2021, 20:24 6
Возник вопрос: куда должен быть прикреплён узел если его родительский узел не содержит искомого текста и следовательно не должен быть отображён?
0
24.10.2021, 20:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2021, 20:24
Помогаю со студенческими работами здесь

Переименовать все файлы xml в папке данными из тегов этих же xml файлов
Добрый день. Подскажите пожалуйста как переименовать все файлы xml в папке данными из определенных...

Заполнение TreeView данными из БД
Помогите создать два уровня в TreeView. Первый уровень я создал... А вот второй не получается. ...

связать treeview c данными
как связать treeview c данными (в данных будет текст и картинки) через что и как это можно...

TreeView, заполнение данными из БД
Нужно сделать чтение из БД. В базе будут находится квартиры и имена хозяеев! Помогите пожалуйста

Связь treeview с данными
Приветствую. Извиняюсь за глупый вопрос, но опыта с разработке графических приложений у меня очень...

Заполнение TreeView данными из файла
Добрый день. Помогите решить проблему. Допустим имеется текстовый файл вида: Фрукты: Бананы...

Наполнение альтернативного TreeView данными
Имеется таблица с полями dtKey, dtName, dtParent, dtLevel необходимо извлечь из нее данные для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru