Flutter

What’s New in 2020 Volume 4: Flutter DataGrid

In the 2020 Volume 4 release, we have included the following new features for the Flutter DataGrid (data table):

Let’s see more details about these features.

Stacked headers

The DataGrid now supports displaying multiple column headers. This are known as unbound header rows, which span across multiple columns and rows.

The following code example illustrates stacked headers in the Flutter DataGrid.

import 'package:syncfusion_flutter_core/theme.dart';
import 'package:syncfusion_flutter_datagrid/datagrid.dart';

@override
Widget build(BuildContext context) {
  return SfDataGridTheme(
    data: SfDataGridThemeData(
        headerStyle: DataGridHeaderCellStyle(
            backgroundColor: const Color(0xFFF1F1F1))),
    child: SfDataGrid(
      gridLinesVisibility: GridLinesVisibility.both,
      headerGridLinesVisibility: GridLinesVisibility.both,
      source: _productDataSource,
      columns: <GridColumn>[
        GridTextColumn(mappingName: 'customerName', headerText: 'Customer Name'),
        GridTextColumn (mappingName: ‘city’, headerText: ‘City’),
       GridNumericColumn(mappingName: 'orderId', headerText: 'Order ID')
        GridDateTimeColumn(mappingName: ‘orderDate’, headerText: ‘Order Date’),
      ],
      stackedHeaderRows: <StackedHeaderRow>[
        StackedHeaderRow(cells: [
          StackedHeaderCell(
              columnNames: ['customerName', ‘city’],
              child: Container(
                  color: const Color(0xFFF1F1F1),
                  child: Center(child: Text('Customer Details')))),
          StackedHeaderCell(
              columnNames: [‘orderid’, ‘orderDate’],
              child: Container(
                  color: const Color(0xFFF1F1F1),
                  child: Center(child: Text(Order Details'))))
        ])
      ],
    ),
  );
}

Stacked headers in Flutter DataGrid

Infinite scrolling or load more rows

Show an interactive view at the bottom of the DataGrid when the scroll head reaches the maximum offset while scrolling down. While fetching more data, the loading indicator is displayed at the bottom.

The following .gif image shows the infinite scrolling in the DataGrid.

Infinite scrolling in Flutter DataGrid

You can also load more data with an interactive UI widget like a button. More data will be fetched when the widget is tapped.

The following .gif image shows the load more rows triggered when tapping the button.

Load more option in Flutter DataGrid

Compatibility for visual density

Improve the vertical and horizontal compactness of the widgets in the UI with the help of the visualDensity property in ThemeData. Now, the DataGrid is compatible with this support. The DataGrid’s row height and cell padding will be automatically adjusted based on visualDensity.

In the following screenshot, visual density is set to standard.

Standard visual density

In the following screenshot, visual density is set to compact.

Compact visual density

In the following screenshot, visual density is set to comfortable.

Comfortable visual density

Column header enhancement

We have enhanced a couple of items in the column header:

  • Hovering effect: In web platform, hovering effect will be applied if mouse hovers over the column headers.
  • Grid line support: We have introduced a separate property to display grid lines in column headers. This can be done by using the headerGridLinesVisibility property. This is useful when you are adding stacked headers.

Scrollbar enhancement

We have provided the following support for vertical and horizontal scrollbars:

Conclusion

I hope you now have a clear idea of the new features and enhancements available in the Syncfusion Flutter DataGrid widget in the 2020 Volume 4 release.

Browse our documentation to learn more about our Flutter widgets. You can also see Syncfusion’s Flutter app with many examples in this GitHub repo. Don’t miss our demo app in Google Play and the App Store.

If you aren’t a customer yet, you can try our 30-day free trial to check out these features.

Also, if you wish to send us feedback or would like to submit any questions, please feel free to post them in the comments section of this blog post. You can also contact us through our support forumfeedback portal, or Direct-Trac support system. We are always happy to assist you!

Neelakandan Kannan

Neelakandan Kannan is a product manager at Syncfusion. He has been a .NET developer since 2014 with expertise in Flutter, WinForms and WPF.