Таблица данных во Flutter
Опубликовано: 9 Января, 2023
DataTable — это дизайн материала, используемый для отображения данных в таблице или в строках и столбцах. Таблица данных используется для отображения данных, которые имеют столбцы и строки в качестве дочерних, столбец используется для установки имени столбца, а строка используется для установки значений столбцов. Любой столбец в DataTable может быть отсортирован на его основе в порядке возрастания или убывания. Если sortColumnIndex не равен нулю, таблица будет отсортирована в соответствии со значениями в указанном столбце. Порядок сортировки определяется логическим флагом sortAscending.
Для получения дополнительной информации см. Учебник по Dart .
Синтаксис в Дарте:
DataTable( // datatable widget columns: [ // column to set the name DataColumn(label: Text("Col1"),), DataColumn(label: Text("Col2"),), ], rows: [ // row to set the values DataRow(cells: [ DataCell(Text("ValCol1")), DataCell(Text("ValCol2")), ]), ], )
Пример кода:
Dart
import "package:flutter/material.dart" ; // main method that runs the runApp. void main() => runApp(SimpleDataTable()); class SimpleDataTable extends StatelessWidget{ @override Widget build(BuildContext context) { return MaterialApp( // MaterialApp with debugShowCheckedModeBanner false and home debugShowCheckedModeBanner: false , theme: ThemeData.light(), home: Scaffold( // Scaffold with appbar ans body. appBar: AppBar( title: Text( "Simple Data Table" ), ), body: SingleChildScrollView( scrollDirection: Axis.horizontal, child: DataTable( // Datatable widget that have the property columns and rows. columns: [ // Set the name of the column DataColumn(label: Text( "ID" ),), DataColumn(label: Text( "Name" ),), DataColumn(label: Text( "LastName" ),), DataColumn(label: Text( "Age" ),), ], rows:[ // Set the values to the columns DataRow(cells: [ DataCell(Text( "1" )), DataCell(Text( "Alex" )), DataCell(Text( "Anderson" )), DataCell(Text( "18" )), ]), DataRow(cells: [ DataCell(Text( "2" )), DataCell(Text( "John" )), DataCell(Text( "Anderson" )), DataCell(Text( "24" )), ]), ] ), ), ), ); } } |
Объяснение кода:
- main — это основной метод, вызываемый после загрузки программы.
- После загрузки программы runApp запустится и вызовет созданный нами класс (SimpleDataTable) для выполнения.
- Этот класс является виджетом без сохранения состояния , поскольку показанные данные будут фиксированными (без изменений).
- Поскольку Flutter основан на виджетах, виджет должен быть создан.
- Создание MaterialApp , которое позволяет нам использовать Scaffold.
- Scaffold позволяет нам использовать AppBar и Body.
- AppBar имеет простой заголовок.
- Тело содержит SingleChildScrollView, используемое для горизонтальной прокрутки и предотвращения переполнения из-за мобильного устройства с малой шириной экрана.
- SingleChildScrollView принимает Single Child DataTable , который принимает столбцы и строки.
- Столбцы, представленные в DataColumn , которые принимают метку.
- Строки, представленные в DataRow, принимают ячейки, за которыми следует DataCell , который принимает любой виджет, представляющий каждое значение столбца строки.