data_table_2 2.0.2 copy "data_table_2: ^2.0.2" to clipboard
data_table_2: ^2.0.2 copied to clipboard

outdated

In-place replacement for Flutter's DataTable and PaginatedDataTable with fixed/sticky header and few extra features

example/lib/main.dart

import 'package:flutter/material.dart';

import 'data_table2.dart';
import 'data_table2_simple.dart';
import 'paginated_data_table2.dart';
import 'data_table.dart';
import 'paginated_data_table.dart';

void main() {
  runApp(MyApp());
}

Scaffold _getScaffold(BuildContext context, Widget body) {
  return Scaffold(
    appBar: AppBar(
      shadowColor: Colors.transparent,
      automaticallyImplyLeading: false,
      title: Row(children: [
        Container(
            padding: EdgeInsets.fromLTRB(12, 4, 12, 4),
            color: Colors.grey[850],
            child: DropdownButton<String>(
              icon: Icon(Icons.arrow_forward),
              dropdownColor: Colors.grey[800],
              style: Theme.of(context)
                  .textTheme
                  .subtitle1!
                  .copyWith(color: Colors.white),
              value: ModalRoute.of(context)!.settings.name,
              onChanged: (v) {
                switch (v) {
                  case '/datatable2':
                    Navigator.of(context).pushNamed('/datatable2');
                    break;
                  case '/datatable2simple':
                    Navigator.of(context).pushNamed('/datatable2simple');
                    break;
                  case '/paginated2':
                    Navigator.of(context).pushNamed('/paginated2');
                    break;
                  case '/datatable':
                    Navigator.of(context).pushNamed('/datatable');
                    break;
                  case '/paginated':
                    Navigator.of(context).pushNamed('/paginated');
                    break;
                }
              },
              items: [
                DropdownMenuItem(
                  child: Text('DataTable2'),
                  value: '/datatable2',
                ),
                DropdownMenuItem(
                  child: Text('DataTable2 Simple'),
                  value: '/datatable2simple',
                ),
                DropdownMenuItem(
                  child: Text('PaginatedDataTable2'),
                  value: '/paginated2',
                ),
                DropdownMenuItem(
                  child: Text('DataTable'),
                  value: '/datatable',
                ),
                DropdownMenuItem(
                  child: Text('PaginatedDataTable'),
                  value: '/paginated',
                ),
              ],
            )),
      ]),
    ),
    body: body,
  );
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      restorationScopeId: 'main',
      title: 'Flutter Demo',
      theme: ThemeData(
        primaryColor: Colors.grey[300],
      ),
      initialRoute: '/datatable2',
      routes: {
        '/datatable2': (context) => _getScaffold(context, DataTable2Demo()),
        '/datatable2simple': (context) =>
            _getScaffold(context, DataTable2SimpleDemo()),
        '/paginated2': (context) =>
            _getScaffold(context, PaginatedDataTable2Demo()),
        '/datatable': (context) => _getScaffold(context, DataTableDemo()),
        '/paginated': (context) =>
            _getScaffold(context, PaginatedDataTableDemo()),
      },
    );
  }
}
755
likes
0
pub points
99%
popularity

Publisher

verified publishersaplin.blogspot.com

In-place replacement for Flutter's DataTable and PaginatedDataTable with fixed/sticky header and few extra features

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on data_table_2