[flutter] DataTable에서 행 선택 및 선택된 행 스타일 변경하는 방법
Flutter 애플리케이션에서 데이터를 표시할 때 DataTable 위젯을 사용하는 경우가 많습니다. DataTable는 테이블 형식으로 데이터를 정렬하고 표시할 수 있는 강력한 위젯입니다. 이 글에서는 DataTable에서 행을 선택하고 선택된 행의 스타일을 변경하는 방법에 대해 알아보겠습니다.
DataTable 위젯
DataTable는 Flutter Material 패키지에 포함된 위젯으로, 행과 열이 있는 데이터를 표 형태로 표시하는 데 사용됩니다. 각 행은 DataRow 위젯으로, 각 열은 DataCell 위젯으로 정의됩니다.
import 'package:flutter/material.dart';
class MyDataTable extends StatelessWidget {
@override
Widget build(BuildContext context) {
return DataTable(
columns: [
DataColumn(label: Text('이름')),
DataColumn(label: Text('나이')),
],
rows: [
DataRow(cells: [
DataCell(Text('홍길동')),
DataCell(Text('30')),
]),
DataRow(cells: [
DataCell(Text('김철수')),
DataCell(Text('25')),
]),
],
);
}
}
선택된 행 스타일 변경
DataTable에서 특정 행을 선택하고 선택된 행의 스타일을 변경하려면, DataColumn의 속성 중 하나인 onSelectChanged를 사용합니다. 선택된 행의 색상이나 텍스트 스타일을 변경할 수 있습니다.
DataColumn(
label: Text('이름'),
onSort: (columnIndex, ascending) {
setState(() {
_sortColumnIndex = columnIndex;
if (ascending) {
_dataRows.sort((a, b) => a.name.compareTo(b.name));
} else {
_dataRows.sort((a, b) => b.name.compareTo(a.name));
}
});
},
)
위의 코드에서 onSelectChanged를 사용하여 선택된 행의 스타일을 변경하는 로직을 추가할 수 있습니다.
결론
Flutter의 DataTable을 사용하면 효율적으로 데이터를 표 형태로 표시할 수 있습니다. 선택된 행의 스타일을 변경하려면 onSelectChanged를 활용하여 원하는 스타일을 적용할 수 있습니다. 이를 통해 애플리케이션의 사용자 경험을 향상시킬 수 있습니다.
참고 자료: Flutter DataTable 클래스