كلامك صحيح للتعلم أنا لا أنفي الامر و لكن كلما أردنا إضافة إبن نضيف جدول و نعدل أكواد البرنامج ككل هنا المشكلة الحقيقية فالمستخدم بالشجرة العادية يضيف أي عدد من الأبناء دون أن يرهق المبرمج عند إضافة أبناء جدد للشجرة فالبناء السليم بالطريقة السليمة للبرنامج أو المتعلم هو هدف الموقع وتقبل مني كامل الشكر و الاحترام .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
22-02-19, 06:38 PM (آخر تعديل لهذه المشاركة : 22-02-19, 06:52 PM {2} بواسطة raaddawood.)
(20-02-19, 04:39 PM)asemshahen5 كتب : 1- افتح جدول قاعدة البيانات و احذف دليل الحسابات .
2- اعمل مديول جديد في المشروع و امسح كل الذي كتبته من الاكواد السابقة و اكتب داخل المديول التالي :
PHP كود :
Module FillTreeViewXT #Region "Load Tree View From Database" Dim nds As TreeNodeCollection Public Sub CreateTree(ByVal TreeView1 As TreeView, ByVal TreeViewRootName As String, _ ByVal DTable As DataTable, ByVal ColomnName As String, ByVal ColType As String, _ ByVal ColID As String, ByVal MainHeaderImageIndex As Integer) TreeView1.BeginUpdate() TreeView1.Nodes.Clear() Dim MainHeader As New TreeNode(TreeViewRootName) MainHeader.Tag = 0 MainHeader.ImageIndex = MainHeaderImageIndex MainHeader.SelectedImageIndex = MainHeader.ImageIndex TreeView1.Nodes.Add(MainHeader) AddSubNode(MainHeader, DTable, ColomnName, ColType, ColID) TreeView1.EndUpdate() TreeView1.ExpandAll() TreeView1.Select() FindNodeByText(TreeView1, TreeViewRootName) End Sub Private Sub FindNodeByText(ByVal MTree As TreeView, ByVal Mvalue As String) MTree.ExpandAll() Dim Node As TreeNode = MTree.Nodes.Item(0) While Not Node Is Nothing If Node.Text.Contains(Mvalue.Trim) Then Node.BackColor = Color.BurlyWood Node.Checked = True MTree.SelectedNode = Node Else Node.BackColor = Color.White Node.Checked = False End If Node = Node.NextVisibleNode End While End Sub Private Sub AddSubNode(ByVal Node As TreeNode, ByVal DTable As DataTable, ByVal ColomnName As String, ByVal ColType As String, ByVal ColID As String) Dim dv1 As DataView = DTable.DefaultView Dim strt As String = String.Empty strt = ColType & " =" dv1.RowFilter = strt & CType(Node.Tag, Integer) For Each drLine As DataRowView In dv1 Dim SubNode As New TreeNode(drLine(ColomnName).ToString) SubNode.Tag = drLine(ColID).ToString SubNode.ImageIndex = Node.Level SubNode.SelectedImageIndex = SubNode.ImageIndex Node.Nodes.Add(SubNode) If Not SubNode.Tag = 0 Then AddSubNode(SubNode, DTable, ColomnName, ColType, ColID) End If Next End Sub #End Region End Module
3 - افتح الفورم الحدث لود وضع به الكود التالي :
PHP كود :
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim DT As New DataTable DT.Clear() Dim Conn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data source=|DataDirectory|\Treedb.accdb;") If Conn.State = ConnectionState.Closed Then Conn.Open() Dim sql As String = "SELECT RootID, RootName, ParentID, RootLevel, RootID & ' : ' & RootName as MyRoot FROM tblRoots Order By RootID" Dim da As New OleDb.OleDbDataAdapter(sql, Conn) da.Fill(DT) CreateTree(TreeView1, "دليل الحسابات", DT, "MyRoot", "ParentID", "RootID", 0) End Sub
4 - قبل التشغيل ضع ImageList على الفورم و ضع به من 3 الى 10 صور ثم شغل المشروع و باذن الله سيعمل .
السلام عليكم
هل هذا الحل موجه لي انا صاحب المشاركة
ما علاقة image ولماذا تتم اضافتها وجعل صور قيها ؟؟
كل الشكر لك أخي على الاهتمام بالموضوع
وإذا أمكن شرح مبسط ..... هل قمت بتخليق جدول لعمل شجرة حساب ؟
22-02-19, 11:15 PM (آخر تعديل لهذه المشاركة : 23-02-19, 03:52 AM {2} بواسطة asemshahen5.)
أخي الكريم سبب المشكلة أن جدول الشجرة فارغ وضعت لك جدول جديد AccountsTree ووضعت لك به الدليل المحاسبي المبسط مع فائق الاحترام .
بالنسبة للصور هي من أجل أفرع الشجرة وو ضعت لك صور للتوضيح .
ضع في خصائص الشجرة خاصية ImageList = ImageList1 .
و الان أصبح عندك شجرة محاسبية حقيقية .
سبحان الله وبحمده سبحان الله العظيم و الحمد لله ولا اله الا الله والله اكبر
(22-02-19, 11:15 PM)asemshahen5 كتب : أخي الكريم سبب المشكلة أن جدول الشجرة فارغ وضعت لك جدول جديد AccountsTree ووضعت لك به الدليل المحاسبي المبسط مع فائق الاحترام .
بالنسبة للصور هي من أجل أفرع الشجرة وو ضعت لك صور للتوضيح .
ضع في خصائص الشجرة خاصية ImageList = ImageList1 .
و الان أصبحعنك شجرة محاسبية حقيقية .
شكرا جزيلا" أخي الكريم وأشكر مجهودك
لكني أريد عمل دليل محاسبي بحسب ماأريد
أرفق لكم محاولة ناجحة لإظهار البيانات في تري فيو .... لكني أريد فيها الإضافة والحفظ وكذلك تعديل
عملت مشروع جديد أرفقه لكم تنقصه الازرار بالاضافة والتعديل
(22-02-19, 11:50 PM)asemshahen5 كتب : في القريب العاجل سأضع في قسم أمثلة و مشاريع كيفية عمل الشجرة المحاسبية بطريقة احترافية كالبرامج المشهورة مع كل ما ذكرت من إضافة و تعديل و
حذف أنا الان أعمل على المشروع عند الانتهاء منه سأضع الرابط بالمشاركة تقبل مني كامل الاحترام .