Форум сайта python.su
Есть БД с таблицей Tree c полями ID, Parent_ID, Name
После выполнения запроса получаю
_Tree=[,,,,,]
Не могу разобраться как эти данные засунуть в TreeCtrl с помощью рекурсии.
Спасибо
Офлайн
tammatИменно рекурсией? ИМХО не слишком эффективно в данном случае - структура плоская, проще на временном словаре создаваемые ноды хранить. Но держите, примерно так:
Не могу разобраться как эти данные засунуть в TreeCtrl с помощью рекурсии.
import wx
class TestFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Test", size=(300, 300))
self.tree = wx.TreeCtrl(self)
_Tree = [[1,0,"Root"],[2,1,"Level_10"],[3,1,"Level11"],
[4,1,"Level12"],[5,2,"Level20"],[6,5,"Level30"]]
def branch(node, id):
for x in filter(lambda x: x[1] == id, _Tree):
if node:
new_node = self.tree.AppendItem(node, x[2])
else:
new_node = self.tree.AddRoot(x[2])
self.tree.SetPyData(new_node, x[0])
branch(new_node, x[0])
self.tree.Freeze()
branch(None, 0)
self.tree.Thaw()
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = TestFrame()
frame.Show(True)
app.MainLoop()
Офлайн
Огромное спасибо!
Офлайн