[flutter] DataTable에서 특정 셀에 스타일 적용하는 방법
flutter의 DataTable은 데이터를 테이블 형식으로 표시할 때 자주 사용됩니다. 각 셀에 특정 스타일을 적용하고 싶을 때가 있을 수 있는데요, 우리는 이를 해결하기 위한 방법을 살펴보겠습니다.
여러분이 DataTable을 사용한 후 특정 셀에 스타일을 적용하고 싶다고 가정해봅시다. 예를 들어, 첫 번째 열의 데이터는 빨간색으로 표시하고 싶다고 합시다.
우선, 우리는 DataColumn을 사용하여 각 열의 데이터를 정의합니다. 이때, DataColumn 클래스의 label 속성을 사용하여 각 열의 제목을 지정할 수 있습니다.
DataTable(
columns: [
DataColumn(label: Text('제목')),
DataColumn(label: Text('날짜')),
DataColumn(label: Text('금액')),
],
rows: [
DataRow(
cells: [
DataCell(Text('항목 1')),
DataCell(Text('2022-01-01')),
DataCell(Text('\$100')),
],
),
DataRow(
cells: [
DataCell(Text('항목 2')),
DataCell(Text('2022-01-02')),
DataCell(Text('\$150')),
],
),
],
),
이렇게하면 모든 열이 동일한 스타일을 가지게 됩니다. 하지만 특정 셀에만 스타일을 적용하고 싶다면, DataColumn의 label 속성 대신 onSort 속성을 사용할 수 있습니다. onSort 속성은 DataColumn을 터치했을 때 동작하는 콜백을 정의합니다. 우리는 이를 이용해서 특정 셀에 스타일을 적용할 수 있습니다.
DataColumn(
label: Text('제목'),
onSort: (columnIndex, ascending) {
// 스타일 적용 코드
},
),
여기서 onSort 콜백을 사용하여 특정 셀을 터치했을 때 스타일을 적용할 수 있게 됩니다.
이와 같은 방법을 사용하여 flutter의 DataTable에서 특정 셀에 스타일을 적용할 수 있습니다. 이를 통해 데이터를 더욱 시각적으로 효과적으로 표현할 수 있습니다.