Usare la tabelle in Flutter con data_table_2
In un precedente articolo abbiamo visto come usare le DataTable in Flutter.
Volendo possiamo ottenere risultati simili con data_table_2, che porta con se diverse facilitazione scrivendo meno codice a mano.
Per installare il package:
flutter pub add data_table_2
Qui sotto un esempio basico, non ho fatto test approfonditi; comunque trovate svariati esempi nella documentazione:
import 'package:data_table_2/data_table_2.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
const MyHomePage({super.key});
@override
State<MyHomePage> createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
List<DataRow> _libri = [
DataRow(
cells: [
DataCell(
Text("1"),
),
DataCell(
Text("IT"),
),
DataCell(
Text("Stephen King"),
),
],
),
DataRow(
cells: [
DataCell(
Text("2"),
),
DataCell(
Text("Sahara"),
),
DataCell(
Text("Clive Cussler"),
),
],
),
];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Padding(
padding: const EdgeInsets.all(16),
child: DataTable2(
border: TableBorder(
left: BorderSide(color: Colors.black.withAlpha(5)),
right: BorderSide(color: Colors.black.withAlpha(5)),
verticalInside: BorderSide(color: Colors.black.withAlpha(10)),
horizontalInside: BorderSide(color: Colors.black.withAlpha(10)),
),
columnSpacing: 12,
horizontalMargin: 12,
minWidth: 600,
bottomMargin: 10,
columns: [
DataColumn2(
label: Text('ID'),
size: ColumnSize.S,
numeric: true,
),
DataColumn2(
label: Text('TITOLO'),
size: ColumnSize.L,
),
DataColumn(
label: Text('AUTORE'),
),
],
rows: _libri,
),
),
);
}
}
Enjoy!
dart flutter datatable data_table_2
Commentami!