gpt4 book ai didi

python - 使用列表中未显示的字段进行后续搜索

转载 作者:行者123 更新时间:2023-11-29 12:31:56 25 4
gpt4 key购买 nike

我正在使用wx.ListCtrl来显示数据库查询的结果。如果用户然后选择一个项目,我想使用非显示字段(Client.idClient)来查询另一个表并显示结果(只能是一行)。显示的查询和“核心”是:-

sql = "SELECT Client.idClient, Client.LastName, Client.FirstName, \
MedicalCondition FROM Client INNER JOIN MedicalCondition \
ON Client.idClient = MedicalCondition.idClient \
ORDER BY Client.LastName ASC, Client.FirstName ASC, MedicalCondition

try:
cursor.execute(sql)
except ValueError:
print "Error: unable to read data"
print("Error:", ValueError)

rows = cursor.fetchall()

self.listCtrl.InsertColumn(0, 'Last Name', width = 175)
self.listCtrl.InsertColumn(1, 'First Name', width = 150)
self.listCtrl.InsertColumn(2, 'Condition', width=175)

#print 'Done headings'

n=0

for r in rows:
self.listCtrl.InsertStringItem(n, r[1])
self.listCtrl.SetStringItem(n, 1, r[2])
self.listCtrl.SetStringItem(n, 2, r[3])
n+=1

我的问题是如何捕获Client.idClient以供后续搜索。创建一个隐藏数组来保存数据似乎效率低下,并且随着添加分页和滚动等功能可能会变得相当复杂。

提前致谢...

最佳答案

为此,我将使用 ObjectListView 而不是 wx.listctrl。它允许您非常轻松地存储除显示内容之外的数据。如果单击某个项目将导致您进行另一次搜索,该搜索应显示在第二个 listctrl 类型小部件中,那么这使我更加推荐 ObjectListView。您可以将第一个项目放在框架顶部,只有当用户单击第一个项目中的项目并且搜索有结果时,第二个项目才会出现。

或者您可以打开第二个窗口,其中 ObjectListview 显示结果。以下教程应该可以帮助您开始切换到 ObjectListView:

这个小部件最近被 fork ,因为原始部件不再维护。请参阅以下链接获取最新版本和文档:

关于python - 使用列表中未显示的字段进行后续搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com