ด่วนครับ Tree view ทำอย่างไร
กระทู้เก่าบอร์ด อ.Yeadram

 3,936   9
URL.หัวข้อ / URL
ด่วนครับ Tree view ทำอย่างไร

ช่วยหน่อยครับ หาเท่าไรก็หาไม่เจอ วิธีการใช้ Act X "Tree view"
ใครมีที่แนะนำ หรือตัวอย่างเลยก็ดีครับ
ขอบคุณล่วงหน้า

9 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01854
ไปที่ www.msdn.com และ www.microsoft.com แล้วค้นด้วยคำว่า treeview access ครับ

แล้วก็ที่ผมพบในนี้ Visual Basic: Windows Controls: TreeView Control

ตย. How to fill a Treeview control recursively in Access 2000
2 @R01855
ไม่ผิดหวังครับเดี๋ยวลองไปดูก่อน...
3 @R01856
ขอบคุณครับ เวริค ครับ
4 @R01857
เริ่มไม่เวริคแล้วครับ...
ตอนนี้ใช้งานได้ display ได้ แต่ว่าอ้างอิงไม่ได้ครับ

พอมีวิธีการอ้างอิงใหมครับ มันต้องอ้างอิงเป็น branch อย่างไรนะครับ
ยังงงอยู่
5 @R01858
ข้อความจากลิงค์แรก

...You can navigate through a tree in code by retrieving a reference to Node objects using Root, Parent, Child, FirstSibling, Next, Previous, and LastSibling properties...

คุณก็ไปดูคำอธิบายของ property เหล่านี้แหละครับ อยู่ในส่วน Reference ครับ ลองดูภาพประกอบ

6 @R01859
OK พอได้แล้วครับ...
ตอนแรกผมดูแต่ Link อันล่าง ไม่ได้ดูที่ link อันบน

ตอนนี้ผมลองใช้ nodes() ในการอ้างอิง
xTree.Nodes(1).Expanded = True

พอจะใช้อ้างอิงได้แล้วครับ...

ขอบคุณนะครับสำหรับแหล่งอ้างอิง
7 @R01868
ขออีกที จะ retrun ค่าลำดับชั้น
สมมุติว่าคลิ๊กที่ตัวเลือกใดในในชั้นที่ 3 อยากจะ return ค่าออกมาเป็น 3 ต้องใช้ property ตัวไหนหนะครับ

คืออยากรู้ว่ารายการที่เราเลือกเป็น member ของชั้นใด
8 @R01869
ผมคิดว่าไม่มีมังครับ ต้องเขียนอัลกอรึธึมเพื่อค้นหาเอง (เราเรียกว่าการ Traverse ใน Tree) หรือไม่ก็ระหว่างการสร้าง Tree คุณก็น่าจะรู้ว่าอยู่ในลำดับชั้นที่เท่าไหร่ ก็เอาค่าลำดับชั้นไปผูกเป็นส่วนหนึ่งของ Key property ซึ่งเป็น String ดังนั้นเวลาคลิกเลือก Node ก็จะรู้ว่าค่าเป็นอะไรได้จาก Key Property ครับ
9 @R09410
สวัสดีครับ
พอดีผมใช้อยู่เพื่อแบ่งเบาให้อาจารย์ครับ

ลองศึกษาดูนะครับ

Private Sub Form_Load()
On Error GoTo Error_Trap
    Dim objNode As Node, strKey As String
    Dim rst As DAO.Recordset, intKey As Integer
    varHash = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
    With TreeView
    .Nodes.Clear
    Set rst = CurrentDb.OpenRecordset("qryMenu")
    If rst.RecordCount > 0 Then
        Set dct = New Dictionary
        dct.RemoveAll
        While Not rst.EOF
            intKey = rst.Fields("MenuID").Value
            If rst.Fields("Parent") = 0 Then
               Set objNode = .Nodes.Add(, , HashTable(intKey), rst.Fields("Option"))
               objNode.Expanded = True
            Else
               Set objNode = .Nodes.Add(HashTable(rst.Fields("Parent")), tvwChild, HashTable(intKey), rst.Fields("Option"))
            End If
            dct.Add HashTable(intKey), rst.Fields("Form").Value
            rst.MoveNext
        Wend
    End If
    End With
    rst.Close
    Set rst = Nothing
    
Error_Exit:
Exit Sub

Error_Trap:
MsgBox ("Error Code:" & Err.Number & " Error Description:" & Err.Description)
Resume Error_Exit
End Sub
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2474s