【问题标题】:Adding rows to Datatable does not work as expected向 Datatable 添加行无法按预期工作
【发布时间】:2020-09-21 17:35:58
【问题描述】:

我的程序从 mariadb 数据库获取数据,我想在创建为 MDDataTabl 类实例的表中显示从数据库获取的内容。我读到我可以将数据作为列表列表传递给类。

from kivymd.app import MDApp
from kivymd.uix.datatables import MDDataTable
from kivy.metrics import dp
import datetime

dataforrows=[]
dataofrow=[]

# cur is where the elements from the database query are stored in.

for (Field1,Field2,Field3) in cur:
    dataforrows.append(Field1)
    dataforrows.append(Field2)
    dataforrows.append(Field3)
    temprow=dataforrows.copy()
    dataofrow.append(temprow)
    dataforrows.clear()
print(dataofrow)

我的列表的构造按预期工作,正如 CLI 的 print(dataofrow) 的输出所示:

[['01', '2-2', datetime.date(2020, 2, 28)],
['02', '1-1', datetime.date(2020, 2, 28)],
['03', '1-8', datetime.date(2020, 2, 28)],
['07', '1-3', datetime.date(2020, 2, 28)],
['11', '1-4', datetime.date(2020, 2, 28)],
['06', '', datetime.date(2020, 2, 28)],
['10', '1-8', datetime.date(2020, 2, 28)],
['05', '2-1', datetime.date(2020, 3, 3)],
['09', '', datetime.date(2020, 3, 6)],
['08', '1-3', datetime.date(2020, 3, 6)],
['04', '', datetime.date(2020, 3, 6)]]

当我尝试用dataofrow 填充表格时出现问题。仅显示 5 个项目,并且没有可见的滚动条。这是创建表的 sn-p:

table = MDDataTable(pos_hint={'center_x': 0.5, 'center_y':0.5},
                    column_data=[
                                ("Field1", dp(30)),
                                ("Field2", dp(30)),
                                ("Field3", dp(30))
                            ],
                    row_data=dataofrow
        )

即使手动将输出粘贴到源代码中,也只会显示前 5 行。同样用一些东西填充空的'' 对视觉输出没有影响。 我在这里错过了什么?

【问题讨论】:

    标签: python kivymd


    【解决方案1】:

    您可以尝试将“rows_num”值添加到 MDDataTable 描述中,如下所示。这将显示 200 行带有滚动条的内容。

    table = MDDataTable(pos_hint={'center_x': 0.5, 'center_y':0.5}, 
                    rows_num=200,
                    column_data=[
                                ("Field1", dp(30)),
                                ("Field2", dp(30)),
                                ("Field3", dp(30))
                            ],
                    row_data=dataofrow
        )
    

    【讨论】:

      猜你喜欢
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-28
      • 2013-12-23
      • 2014-12-09
      相关资源
      最近更新 更多