import 'package:flutter/material.dart'; import 'package:data_table_2/data_table_2.dart';
import 'models/model_custom_screen.dart';
class PageCostum extends StatefulWidget { const PageCostum({Key? key}) : super(key: key);
@override State<PageCostum> createState() => _PageCostumState(); }
class _PageCostumState extends State<PageCostum> { List<ModelCustomScreenStatistics> listCustomScreenStats = <ModelCustomScreenStatistics>[];
List<DataColumn> _createColumns() { return [ const DataColumn2( label: Text('日期'), size: ColumnSize.L, ), const DataColumn( label: Text('数量'), ), const DataColumn( label: Text('至今'), numeric: true, ), const DataColumn( label: Text('5日'), ), const DataColumn( label: Text('10日'), ), const DataColumn( label: Text('20日'), numeric: true, ), ]; } List<DataRow> _createRows() { return listCustomScreenStats.map((element) => DataRow(cells: [ DataCell(Text(element.date)), DataCell(Text(element.count.toString())), DataCell(Text(element.chg5.toString())), DataCell(Text(element.chg10.toString())), DataCell(Text(element.chg20.toString())), DataCell(Text(element.chgPresent.toString())), ]) ).toList(); }
List<DataColumn> _createColumns_contents() { return [ const DataColumn2( label: Text('日期'), size: ColumnSize.L, ), const DataColumn( label: Text('数量'), ), const DataColumn( label: Text('5日'), ), const DataColumn( label: Text('10日'), ), const DataColumn( label: Text('20日'), numeric: true, ),
]; } List<DataRow> _createRows_contents() { return List<DataRow>.generate( 100, (index) => DataRow(cells: [ DataCell(Text('A' * (10 - index % 10))), DataCell(Text('B' * (10 - (index + 5) % 10))), DataCell(Text('C' * (15 - (index + 5) % 10))), DataCell(Text('D' * (15 - (index + 10) % 10))), DataCell(Text(((index + 0.1) * 25.4).toString())) ])); }
@override Widget build(BuildContext context) { return Scaffold( body: Padding( padding: const EdgeInsets.all(16), child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ SizedBox( height: 35, child: Row( children: [ ElevatedButton( onPressed: () { ScaffoldMessenger.of(context).showSnackBar(const SnackBar(content: Text("Button1 clicked"),)); }, child: const Text('Button1') ), ], ), ), Expanded( child: Column( children: [ Expanded( child: Row( children: [ Expanded( flex: 3, child: DataTable2( columnSpacing: 12, horizontalMargin: 12, minWidth: 300, columns: _createColumns(), rows: _createRows(), ), ), const VerticalDivider( thickness: 3, indent:10, endIndent: 10, ), Expanded( flex: 7, child: DataTable2( columnSpacing: 12, horizontalMargin: 12, minWidth: 600, columns: _createColumns_contents(), rows: _createRows_contents() ), ), ], ), ), ], ), ), ], ), ), ); } }
|