#flutter #dart
#flutter #dart
Вопрос:
Я хочу иметь возможность прокручивать DataTable() для просмотра всех строк таблицы.
Вот мой пользовательский интерфейс:
И вот код.
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.grey[200],
body: Stack(
overflow: Overflow.visible,
children: <Widget>[
// Header amp; Overlap
Positioned(
...
child: CustomHeaderContainer(),
),
Positioned(
...
child: Container(
color: Colors.white,
width: MediaQuery.of(context).size.width * 0.9,
height: 50,
),
),
//
// TODO: Make the table below scrollable
Positioned( //*3
...
child: Container( //*2
color: Colors.white,
width: MediaQuery.of(context).size.width * 0.9,
child: DataTable( //*1
columns: [
DataColumn(label: Text('Name')),
DataColumn(label: Text('Year')),
],
rows: [
DataRow(cells: [
DataCell(Text('Dash')),
DataCell(Text('2018')),
]),
DataRow(cells: [
DataCell(Text('Gopher')),
DataCell(Text('2009')),
]),
...
],
),
),
),
],
),
);
}
* Вот что произойдет, если я попытаюсь добавить SingleChildScrollView:
- Таблица данных: без прокрутки и без ошибок
- Контейнер: нет прокрутки и нет ошибки
- Позиционирование: ошибка, неправильное использование ParentDataWidget и отсутствие scoll
Ответ №1:
попробуйте использовать пользовательский скроллер со списком sliver
CustomScrollView(
slivers: <Widget>[
SliverList(delegate: SliverChildListDelegate([
...children
])),
],
)