如何编辑 flet 数据表中的单元格?



let's DataTable有一个show_edit_icon属性,但我不知道当图标被按下时如何做某事。

这是一个示例代码:

import flet as ft
def main(page: ft.Page):
page.add(
ft.DataTable(
columns=[
ft.DataColumn(ft.Text("First name")),
ft.DataColumn(ft.Text("Last name")),
],
rows=[
ft.DataRow(
cells=[
ft.DataCell(ft.Text("John"), show_edit_icon=True),
ft.DataCell(ft.Text("Smith")),
],
),
],
),
)
ft.app(target=main, view=ft.WEB_BROWSER)

我看到编辑图标,但是我如何将它连接到接收正在编辑的单元格的一些函数?

根据文档,在FLET数据表中,show_edit_icon这将只允许您看到单元格的图标。尽管如此,您必须创建一个新函数并将其连接到on_tap功能上的单元格。

注意:

  • 为单元格添加属性on_tap

  • 实现新功能

  • 在新函数内部更改后更新页面

    import flet as ft
    def main(page: ft.Page):
    # this is the function that controls the value of the cell 
    # returns value on tap
    def updateOnTap(e):
    e.control.content.value = "Hello John"
    page.update()
    page.add(
    ft.DataTable(
    columns=[
    ft.DataColumn(ft.Text("First name")),
    ft.DataColumn(ft.Text("Last name")),
    ],
    rows=[
    ft.DataRow(
    cells=[
    ft.DataCell(ft.Text("John"), show_edit_icon=True, on_tap=updateOnTap),
    ft.DataCell(ft.Text("Smith")),
    ],
    ),
    ],
    ),
    )
    ft.app(target=main, view=ft.WEB_BROWSER)
    

最新更新