شرح الشجرة TreeView

السلام عليكم ورحمة الله وبركاته
كنت قد شرحت سابقا حلا مبسطا للشجرة على هذا الرابط
والآن اشرح لكم حلا معقدا للشجرة عن طريق الالتفاف Recursion  ويمكنك ان تقرأ فى الموضوع بالبحث عن How to populate treeview recursive
اولا كيف احصل على البيانات من قاعدة البيانات
الشكل كما بالصورةTreeView

 

الآن فى ال Form Load او فى زرار ملىء الشجرة اكتب الكود التالى
حيث هذا الكود يقوم بملىء الآباء الرئيسيين ثم اقوم بعمل Recursion التفاف على كل ابن اضيفه لاضيف آبناؤه


  foreach (DataRow  item in MtDatetable.Rows)
            {
                TreeNode node= new TreeNode();
                if (item["ParentID"].ToString() == "0")
                {

                  node.Text  = item["AccountName"].ToString();
                  node.Tag = item["AccountID"].ToString();
                  treeView1.Nodes.Add(node);
                  FillTree(node);
                }

            }

ثم اقوم بإنشاء void لملىء الشجرة

     private void FillTree( TreeNode item)
        {     

             
                    if (item.Tag != null)
                    {
                        DataView dv = dt.AsDataView();
                        dv.RowFilter = "ParentID=" + item.Tag;
                        for (int i = 0; i < dv.Count; i++)
                        {
                            TreeNode tr = new TreeNode();
                            tr.Text = dv[i]["AccountName"].ToString();
                            tr.Tag = dv[i]["AccountID"].ToString();
                            item.Nodes.Add(tr);
                            FillTree(tr);
                        }
                    }

                
            
        }

حول أحمد حسان
Senior IT Specialist @ German Hospital of Alexandria ,Co-Developed Medxpress ,Hospital ERP system ,Microsoft Certified Solution Developer

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: