منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[عنوان معدل]كيفية البحث في أداة العرض الشجري - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [عنوان معدل]كيفية البحث في أداة العرض الشجري (/showthread.php?tid=9474)

الصفحات: 1 2


[عنوان معدل]كيفية البحث في أداة العرض الشجري - أبو يعقوب - 11-07-13

في الكائانت الشجرية يتبع أسلوب 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 



[عنوان معدل]كيفية البحث في أداة العرض الشجري - أبو ريناد الحربي - 13-07-13

مثال رائع جزاك الله خيرا