[TIL] Day 41 DataTable

현서·2026년 1월 21일

[TIL] Flutter 9기

목록 보기
53/65
post-thumbnail

📍 튜터님과 Widget 공부

✏️ DataTable

표 형태로 데이터를 보여주는 위젯
Table과 달리 행(Row)과 열(Column) 구조, 정렬 기능, 선택 기능 등이 내장되어 있어 데이터 표시용 UI로 자주 사용

기본 구조

DataTable(
  columns: [
    DataColumn(label: Text('Name')),
    DataColumn(label: Text('Age')),
    DataColumn(label: Text('Role')),
  ],
  rows: [
    DataRow(cells: [
      DataCell(Text('Alice')),
      DataCell(Text('25')),
      DataCell(Text('Designer')),
    ]),
    DataRow(cells: [
      DataCell(Text('Bob')),
      DataCell(Text('30')),
      DataCell(Text('Developer')),
    ]),
  ],
)

주요 클래스

클래스설명
DataTable표 전체를 감싸는 위젯
DataColumn열 정보 (label, 정렬 가능 여부 등)
DataRow행 정보 (각 셀의 데이터, 선택 여부 등)
DataCell각 셀의 실제 데이터, onTap 가능

주요 속성

DataTable 속성

속성설명예시
columns필수, DataColumn 리스트columns: [DataColumn(label: Text('Name'))]
rows필수, DataRow 리스트rows: [DataRow(cells: [...])]
sortColumnIndex정렬 기준 열의 인덱스0
sortAscending오름차순(true)/내림차순(false)true
showCheckboxColumn첫 열에 체크박스 표시 여부false

DataColumn 속성

속성설명
label열 제목 위젯 (Text 등)
numeric숫자 데이터 정렬 시 우측 정렬 여부
onSort열 클릭 시 정렬 콜백 (columnIndex, ascending)

DataRow 속성

속성설명
cellsDataCell 리스트, 각 행의 데이터
selected체크박스 선택 여부
onSelectChanged선택 상태 변경 시 콜백

DataCell 속성

속성설명
child셀에 표시할 위젯 (Text, Icon 등)
onTap셀 클릭 시 콜백

0개의 댓글