Как вывести данные из Datatable Flet

Может кто знает и подскажет как в Flet получить все данные из DataTable?

   self.table = DataTable(
        bgcolor="white",
        border_radius=5,
        column_spacing=5,

        heading_row_color='#FAEBD7',
        # data_row_color='red',
        columns=[
            DataColumn(
                Text("Заголовок1"),
                on_sort=lambda e: print(f"{e.column_index}, {e.ascending}"),
            ),
            DataColumn(
                Text("Заголовок 2"),
                on_sort=lambda e: print(f"{e.column_index}, {e.ascending}"),
            ),
           
        ],
        rows=[]
    )

Ответы (1 шт):

Автор решения: GrandKing

Нужно обратиться к элементу DataTable и взять значение атрибута columns, в который ты должен передать элемент DataColumn, и rows, в который ты должен передать элемент DataRow.

А DataColumn имеет атрибут label, в который ты передаёшь другой элемент.

А значение передаваемого элемента - в его атрибуте (этот атрибут, у каждого элемента по-разному). В твоём случае value (Потому что ты передал в label элемент Text).

А DataRow имеет атрибут cells, в который есть атрибут DataCell, который имеет атрибут content. В который ты передаёшь другой элемент, в большинстве случае это Text.

А значение передаваемого элемента в его атрибуте (value, если Text).

В принципе, ничего сложного, просто надо читать документацию.

Если в таблице нет ничего кроме текста (без иконок, фото, кнопок и т.д. и т.п.), то код будет примерно таким:

#Получить столбцы таблицы
for i in table.columns:
    print(i.label.value)

#Получить строки таблицы
for rows in table.rows:
    for cells in rows.cells:
        print(cells.content.value)
→ Ссылка