tkintertreeview将mysql数据放在一列中

vxqlmq5t  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(320)

因此,我环顾了几天,尝试了各种解决其他人的问题,似乎与我自己的问题一样,但不幸的是,我没有取得任何进展。我对python、tkinter和mysqli数据库还很陌生。我想做的是建立一个库存计划,就这么简单。您可以登录并添加、删除或查看数据库中的内容。我可以添加和删除项目只是罚款,但我有一个问题,拉数据在正确的列。
到目前为止,我试着把每一行作为一个变量,并相应地分配它,试着一次拉一行,甚至切换到一个新的数据库,但都没有得到正确的结果。如果我使用SQLite3,它工作得很好,是不是因为mysql在服务器上而不是本地?不管怎样,我想得到一些建议,为我指明正确的方向,所以任何帮助都是非常感谢的。

编辑:

tree.insert("", 1, "dirIso", text="ProductID")
for n, dirIso in enumerate(results,1):
    list_of_column_values = [list(_dict.values())[0] for _dict in dirIso]
    tree.insert('dirIso', n, text=list_of_column_values[0],
                values=list_of_column_values[1:])
cursor.close()
conn.close()

这就是我所做的,我现在得到一个'str'对象没有属性'values'。我需要换衣服吗?或者它是在我的数据库中查找作为值的名称,而不是列?
我试图得到的结果是表显示每个项的相应数据。

slhcrj9b

slhcrj9b1#

问题:treeview将mysql数据放在一列中
编辑您的问题,显示三行 results 数据,如果你的 results 不像下面这样。
假设如下 results == listdict !

results = [{'produkt_id': '1234', 'Name': 'John', 'Address': 'NewYork'},
            {'produkt_id': '5678', 'Name': 'Peter', 'Address': 'Boston'}
           ]

你不需要树冠,因为你想要一个表视图


# Dict's are unordered,

# therfore you need a list of fieldnames in your desired order

fieldnames = ['produkt_id', 'Name', 'Address']

# Loop results

for n, _dict in enumerate(results,1):
    # Create a list of values from this _dict
    _list = []
    for key in fieldnames:
        _list.append(_dict[key])

    # The first value goes to 'text'
    # All others goes to 'values'
    tree.insert('', 'end', n, text=_list[0], values=_list[1:])

输出:

1234  John     NewYork
5678  Peter    Boston

相关问题