PDA

View Full Version : کار با tree



tefos666
شنبه 15 تیر 1387, 00:35 صبح
سلام دوستان
من یه مشکل جدید دارم اونم اینه که من تو برنامه خودم یه قسمت واسه دسترسی کاربران به گزارشاتی که قبلا ایجاد کردم دارم من اونا رو تو یه درخت (tree) دارم نشون میدم تا اینجا مشکلی نداشتم ولی از زمانی که تصمیم گرفتم درخت رو به صورت checkbox نشون بدم مشکلم شروع شد - ببینید من مشکلاتم از قرار زیره : ضمنا درخت من بیش از سه سطح داره یعنی یک سرگروه دارم بنام گزارشات توی اون یکسری فولدر تو هر فولدر یکسری فایل امکان داره داخل این فولدرها هم فولدرهایی باشه که تو اونا یکسری فایله (سطح 3 به بالا)

1- چجوری متوجه بشم سرشاخه هست (با تیک زدن اون تمام شاخه ها و زیر شاخه ها تیک بخوره) مثال : یک درایو با فولدرهاش و فایلهای داخل فودرش

2- چجوری بفهمم شاخه هست (با تیک زدن اون تمام گزارشاتم تیک بخوره) مثال : یک فولدر با فایلهای داخلش (سطح 3 به بالا)

یه حدسایی در مورد child - node و root و ... زدم که مثلا count اونو بگیرم و چک کنم ولی نتونستم جواب بگیرم خواهشن اگه کسی میتونه یا جایی کدش رو سراغ داره بگه :متفکر: راهنمایی نکنید کدش رو بنویسید (هلو برو تو گلو):شیطان: چه بی ادبم !!!

tefos666
شنبه 15 تیر 1387, 11:46 صبح
دوباره سلام

خودم کدش رو تونستم گیر بیارم خواستم اینجا هم بزارم تا اگه کسی مثل خودم دچار مشکل شد شاید کمکش کنه



Private Sub TreeR2_NodeCheck(ByVal Node As MSComctlLib.Node)
CheckNodes Node, Node.Checked
End Sub

Private Sub CheckNodes(ByRef oParentNode As Node, ByVal bChecked As Boolean)
Dim oNode As Node
' Get the first child node
Set oNode = oParentNode.Child
' Loop through the child nodes of this node
' until there are none left...
Do While Not oNode Is Nothing
' Check/Uncheck the node
oNode.Checked = bChecked
' Call this function again for the
' child node, so that it's child nodes
' can get checked/unchecked.
CheckNodes oNode, bChecked
' Get the next child node of this node
Set oNode = oNode.Next
Loop
End Sub

:عصبانی++: success is doing , not wishing

یا علی مدد !!! :تشویق: