どうも、ちょげ(@chogetarou)です。
DataTableのDataRowにタップ処理を追加する方法を紹介します。
方法
DataTableのDataRowにタップ処理を追加するには、引数「onSelectedChanged」を使います。
まず、DataRowの引数「onSelectedChanged」に、引数を1つ持つコールバック関数を指定します。
そして、コールバック関数内に、タップ処理を記述します。
DataTable(
columns: [・・・],
rows: [
DataRow(
onSelectChanged: (value) {
//タップ処理
},
cells: [・・・],
),
・・・
],
),
DataRowの引数「onSelectedChanged」に指定したコールバック関数が、DataTableのDataRowをタップした際に呼び出されます。
使用例
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Center(
child: DataTable(
showCheckboxColumn: false,
columns: [
DataColumn(
label: Text('名前'),
),
DataColumn(
label: Text('年齢'),
),
DataColumn(
label: Text('性別'),
),
],
rows: [
DataRow(
onSelectChanged: (value) {
print("Tap Taro!");
},
cells: [
DataCell(Text('太郎')),
DataCell(Text('19')),
DataCell(Text('男')),
],
),
DataRow(
onSelectChanged: (value) {
print("Tap Sayuri!");
},
cells: [
DataCell(Text('さゆり')),
DataCell(Text('24')),
DataCell(Text('女')),
],
),
DataRow(
onSelectChanged: (value) {
print("Tap Goro!");
},
cells: [
DataCell(Text('吾郎')),
DataCell(Text('34')),
DataCell(Text('男')),
],
),
],
),
),
),
);
}
コメント