منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : [عنوان معدل]كيفية البحث في أداة العرض الشجري
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
في الكائانت الشجرية يتبع أسلوب Recursive

والحل أبسط من البساطة وذلك بعمل دالة واحدة فقط ترسل لها Node والنص المراد البحث عنه وهذه الدالة تستدعي نفسها لكل إبن من أبناء الnode

قمت بعمل دالتين واحدة رئيسية وأخرى فرعية ، الرئيسية ترسل لها اTreeView وهي بدورها تستخدم الدالة الفرعية

الدالة الفرعية يمكنك البحث عن عناصر داخل Node معين وأبنائه وأحفاده

المهم لاحظ كيف تعتمد الدالة على نفسها بحيث حتى لو كان هناك أكثر من مستوى ستصل له حتما

PHP كود :
Function SearchIn(node As TreeNodetext As String) As List(Of TreeNode)
        
Dim lst = New List(Of TreeNode)
        For 
Each n As TreeNode In node.Nodes
            
If n.Text.Contains(textThen
                lst
.Add(n)
            
End If
            
lst.AddRange(SearchIn(ntext))
        
Next
        
Return lst
    End 
Function
    Function 
Search(tree As TreeViewtext As String) As List(Of TreeNode)
        
Dim lst = New List(Of TreeNode)
        For 
Each n As TreeNode In tree.Nodes
            
If n.Text.Contains(textThen
                lst
.Add(n)
            
End If
            
lst.AddRange(SearchIn(ntext))
        
Next
        
Return lst
    End 
Function 
مثال رائع جزاك الله خيرا
الصفحات : 1 2