import 'package:flutter/material.dart'; import 'package:pluto_grid/pluto_grid.dart'; class DataTableWidget extends StatelessWidget { const DataTableWidget({ required this.columns, required this.rows, this.onRowDoubleTap, this.onLoaded, this.configuration, super.key, }); final List columns; final List rows; final void Function(PlutoGridOnRowDoubleTapEvent)? onRowDoubleTap; final void Function(PlutoGridOnLoadedEvent)? onLoaded; final PlutoGridConfiguration? configuration; @override Widget build(BuildContext context) { final theme = Theme.of(context); return PlutoGrid( columns: columns, rows: rows, onRowDoubleTap: onRowDoubleTap, onLoaded: onLoaded, configuration: configuration ?? PlutoGridConfiguration( style: PlutoGridStyleConfig( gridBackgroundColor: theme.colorScheme.surface, rowColor: theme.colorScheme.surface, activatedColor: theme.colorScheme.primaryContainer, activatedBorderColor: theme.colorScheme.primary, gridBorderColor: theme.colorScheme.outlineVariant, borderColor: theme.colorScheme.outlineVariant, cellTextStyle: theme.textTheme.bodyMedium!, columnTextStyle: theme.textTheme.titleSmall!.copyWith( fontWeight: FontWeight.bold, ), ), columnSize: const PlutoGridColumnSizeConfig( autoSizeMode: PlutoAutoSizeMode.scale, ), ), ); } }