กระทู้เก่าบอร์ด อ.Yeadram
        
           4,136   9		  
          
					  
		    URL.หัวข้อ / 
		    URL
        
        ด่วนครับ Tree view ทำอย่างไร      
    
      ช่วยหน่อยครับ หาเท่าไรก็หาไม่เจอ วิธีการใช้ Act X  "Tree view"
ใครมีที่แนะนำ หรือตัวอย่างเลยก็ดีครับ
ขอบคุณล่วงหน้า
    
  ใครมีที่แนะนำ หรือตัวอย่างเลยก็ดีครับ
ขอบคุณล่วงหน้า
				9 Reply in this Topic. Dispaly 1  pages and you are on page number 1 
				
        
    2 @R01855    
        
  
      ไม่ผิดหวังครับเดี๋ยวลองไปดูก่อน...    
    
  
        
    3 @R01856    
        
  
      ขอบคุณครับ เวริค ครับ    
    
  
        
    4 @R01857    
        
  
      เริ่มไม่เวริคแล้วครับ...
ตอนนี้ใช้งานได้ display ได้ แต่ว่าอ้างอิงไม่ได้ครับ
พอมีวิธีการอ้างอิงใหมครับ มันต้องอ้างอิงเป็น branch อย่างไรนะครับ
ยังงงอยู่
    
  ตอนนี้ใช้งานได้ 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 ครับ ลองดูภาพประกอบ
 
    
    
  ...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
พอจะใช้อ้างอิงได้แล้วครับ...
ขอบคุณนะครับสำหรับแหล่งอ้างอิง
    
  ตอนแรกผมดูแต่ Link อันล่าง ไม่ได้ดูที่ link อันบน
ตอนนี้ผมลองใช้ nodes() ในการอ้างอิง
xTree.Nodes(1).Expanded = True
พอจะใช้อ้างอิงได้แล้วครับ...
ขอบคุณนะครับสำหรับแหล่งอ้างอิง
        
    7 @R01868    
        
  
      ขออีกที จะ retrun ค่าลำดับชั้น
สมมุติว่าคลิ๊กที่ตัวเลือกใดในในชั้นที่ 3 อยากจะ return ค่าออกมาเป็น 3 ต้องใช้ property ตัวไหนหนะครับ
คืออยากรู้ว่ารายการที่เราเลือกเป็น member ของชั้นใด
    
  สมมุติว่าคลิ๊กที่ตัวเลือกใดในในชั้นที่ 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
    
  พอดีผมใช้อยู่เพื่อแบ่งเบาให้อาจารย์ครับ
ลองศึกษาดูนะครับ
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
      Time: 0.0614s
    
      
		
แล้วก็ที่ผมพบในนี้ Visual Basic: Windows Controls: TreeView Control
ตย. How to fill a Treeview control recursively in Access 2000