Найти - Пользователи
Полная версия: Помогите с заполнением wx.TreeCtrl из SQL
Начало » Python для новичков » Помогите с заполнением wx.TreeCtrl из SQL
1
tammat
Есть БД с таблицей Tree c полями ID, Parent_ID, Name

После выполнения запроса получаю

_Tree=[,,,,,]

Не могу разобраться как эти данные засунуть в TreeCtrl с помощью рекурсии.
Спасибо
PooH
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()
tammat
Огромное спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB