Result
You use row and column. You must define unity ( width & height) of row and column.
double unityWidth = 70;
double unityHeight = 40;
// 2 unity = two rows or columns merge
return Scaffold(
appBar: AppBar(
title: Text("Merge Data Table"),
),
body: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: [
Column(
children: [
Row(
children: [
Container(
width: unityWidth*2,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFEEEEEE)
),
child: Center(
child: Text('Items'),
),
),
Container(
width: unityWidth,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFEEEEEE)
),
child: Center(
child: Text('Percent'),
),
),
],
),
Row(
children: [
Container(
width: unityWidth*2,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('Items 1'),
),
),
Container(
width: unityWidth,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('20%'),
),
),
],
),
Row(
children: [
Container(
width: unityWidth*2,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('Items 2'),
),
),
Container(
width: unityWidth,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('50%'),
),
),
],
),
],
),
Column(
children: [
Row(
children: [
Container(
width: unityWidth*2,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFEEEEEE)
),
child: Center(
child: Text('Price'),
),
),
Container(
width: unityWidth,
margin: EdgeInsets.zero,
height: unityHeight,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFEEEEEE)
),
child: Center(
child: Text('Other'),
),
),
],
),
Row(
children: [
Container(
width: unityWidth*2,
margin: EdgeInsets.zero,
height: unityHeight*2,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('1888'),
),
),
Container(
width: unityWidth,
margin: EdgeInsets.zero,
height: unityHeight*2,
padding: const EdgeInsets.all(3.0),
decoration: BoxDecoration(
border: Border.all(color: Color(0XFFBCBCBC)),
color: Color(0xFFFFFFFF)
),
child: Center(
child: Text('20%'),
),
),
],
),
],
),
],
))
);