5.0 KiB
5.0 KiB
import 'package:flutter/material.dart';
class MyTable extends StatefulWidget {
createState() {
return StateKeeper();
}
}
class StateKeeper extends State<MyTable> {
bool visibilityTableRow = true;
void _changed() {
setState(() {
if(visibilityTableRow){
visibilityTableRow = false;
}else{
visibilityTableRow = true;
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
primary: true,
appBar: AppBar(
title: Text("Table View"),
),
body: Column(
children: <Widget>[
Table(
border: TableBorder.all(width: 1.0, color: Colors.black),
children: [
TableRow(
children: [
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('ID1'),
),
]
)
),
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('Name1'),
),
]
)
)
]
),
visibilityTableRow ? TableRow(
children: [
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('ID2'),
),
]
)
),
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('Name2'),
),
]
)
)
]
): new TableRow(
children: [
TableCell(
child: Row(
children: <Widget>[
new Container(),
]
)
),
TableCell(
child: Row(
children: <Widget>[
new Container(),
]
)
)
]
),
TableRow(
children: [
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('ID3'),
),
]
)
),
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('Name3'),
),
]
)
)
]
),
],
),
RaisedButton(
child: Text("Hide/Show Table Row"),
onPressed: () => _changed(),
),
],
)
);
}
}
OR
List<TableRow> _myRows(){
List<TableRow> rows = [];
if(bool_row){
rows.add(
TableRow(
children: [
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('ID2'),
),
]
)
),
TableCell(
child: Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.all(5.0),
child: new Text('Name2'),
),
]
)
)
]
)
);
}
//here add others Rows with rows.add(TableRow(...)) ...
return rows;
}
// In Table Widget
...
Table(
children: _myRows(),
),