前回のテーブルデータを表示するサンプルコードを作成しましたが、
各行がクリックされた時にイベントが発火するようにしてみます。
これはft.DataRow
のon_select_changed
を使います。
さっそくサンプルコードを示します。
単純にクリックした行を標準出力します。
import flet as ft
def my_row(text1, num):
return ft.DataRow(
cells=[
ft.DataCell(ft.Text(text1)),
ft.DataCell(ft.Text(num)),
],
# 以下を追加
on_select_changed=lambda e: print(
e.control.cells[0].content.value, e.control.cells[1].content.value
),
)
def main(page: ft.Page):
page.add(
ft.DataTable(
columns=[
ft.DataColumn(ft.Text("Text1")),
ft.DataColumn(ft.Text("Num"), numeric=True),
],
rows=[
my_row("test1", 1),
my_row("test2", 2),
my_row("test3", 3),
],
),
)
ft.app(target=main)
コメント