我有一个用户控制的相关下拉菜单(共5个),用于缩小问题的具体根源。这些信息很容易存储在数据库中(见下文),但是我在如何有效地将其存储在内存中遇到了一些问题,这样我就可以创建一组5个组合框,当父对象发生更改时,每个后续框都会被填充。我不想在每次下拉列表更改后查询表,因为它会引入明显的延迟。你知道吗
我的桌子是这样的:
RootItem1 SubItem1 SubItemA SubItemB SubItemC
RootItem1 SubItem1 SubItemA SubItemB SubItemD
RootItem1 SubItem1 SubItemA SubItemB SubItemE
RootItem1 SubItem1 SubItemA SubItemF
RootItem1 SubItem1 SubItemA SubItemF SubItemG
RootItem1 SubItem1 SubItemA SubItemF SubItemH
RootItem1 SubItem1 SubItemI SubItemJ SubItemK
RootItem1 SubItem1 SubItemI SubItemJ SubItemL
RootItem1 SubItem2
RootItem1 SubItem2 SubItemM
RootItem1 SubItem2 SubItemM SubItemN
RootItem2 SubItem3 SubItemO SubItemP
RootItem2 SubItem3 SubItemQ SubItemR
RootItem3 SubItem4 SubItemS SubItemT
RootItem3 SubItem4 SubItemU
RootItem3 SubItem4 SubItemV SubItemW SubItemX
RootItem3 SubItem5 SubItemY
RootItem3 SubItem5 SubItemY SubItemZ
需要注意的是,并非所有项目都使用所有5个子组。你知道吗
我最初的想法是创建一个5D字典来存储这个,然后匹配子组合框来填充这个框。字典的第一部分是这样的:
d = {
'RootItem1': {
'SubItem1': {
'SubItemA': {
'SubItemB': ['SubItemC', 'SubItemD', 'SubItemE'],
'SubItemF': ['', 'SubItemG', 'SubItemH'],
}
'SubItemI': {
'SubItemJ': ['SubItemK', 'SubItemL']
}
},
'SubItem2': {
'': {},
'SubItemM': {
'': [],
'SubItemN': ['']
},
'SubItemO': {
'SubItemP': ['']
}
}
}
}
我的问题是,当上层没有子元素时,很难理解。有很多''
键。你知道吗
如何有效地生成一种方法,将表从上面存储到一个数据结构中,我可以使用该数据结构快速填充5个下拉框,每个下拉框从上一个下拉框中获取其值?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐