[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에서 특정 셀에 스타일을 적용할 수 있습니다. 이를 통해 데이터를 더욱 시각적으로 효과적으로 표현할 수 있습니다.