|
@override
DataGridRowAdapter buildRow(DataGridRow row) {
return DataGridRowAdapter(
cells: row.getCells().map<Widget>((dataGridCell) {
return Container(
alignment: Alignment.center,
padding: const EdgeInsets.all(8.0),
child: dataGridCell.columnName == 'button'
? LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
return MaterialButton(
onPressed: () {
_updateTextFieldContext(row);
showDialog<String>(
context: context,
builder: (BuildContext context) => AlertDialog(
scrollable: true,
titleTextStyle: const TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 16),
title: const Text('Edit Details'),
actions: _buildActionButtons(row, context),
content: Scrollbar(
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Form(
key: _formKey,
child: _buildAlertDialogContent(),
),
),
),
),
);
},
child: const Text('Begin Editing'),
color: Colors.cyanAccent,
);
})
: Text(dataGridCell.value.toString()),
);
}).toList());
} |