buildColumns method
Implementation
List<DataColumn> buildColumns(BuildContext context) {
final columns = <DataColumn>[];
if (widget.showCheckboxColumn && hasSelectionFeature) {
columns.add(
DataColumn(
label: Checkbox(
value: allItemsSelected,
onChanged: widget.onSelectAll,
tristate: true,
),
),
);
}
if (hasItems) {
columns.addAll(items.first.columns.map(
(e) {
final columnName = e.toString();
final isCurrentSortColumn = currentSort?.column == columnName;
return DataColumn(
label: buildColumnHeader(columnName, isCurrentSortColumn),
onSort: canSort
? (columnIndex, ascending) => handleSort(columnName, ascending)
: null,
tooltip: canSort ? 'Ordenar por $columnName' : null,
);
},
));
if (widget.actions.isNotEmpty) {
columns.add(
const DataColumn(
label: XfdnText(
'Ações',
textColor: Colors.black,
fontWeight: FontWeight.w600,
),
),
);
}
}
return columns;
}