[flutter] 플러터 Table 위젯에서 테이블 데이터 정렬하기
플러터(Table) 위젯은 행 및 열의 데이터를 표현하는 데 사용됩니다. 이 테이블에서 데이터를 정렬하는 방법에 대해 알아보겠습니다.
열 데이터 정렬하기
Table 위젯에서 열 데이터를 정렬하려면, DataColumn 위젯의 onSort 프로퍼티를 사용하여 정렬 동작을 지정할 수 있습니다.
DataTable(
columns: [
DataColumn(
label: Text('이름'),
onSort: (columnIndex, ascending) {
if (ascending) {
// 열의 데이터를 오름차순으로 정렬
} else {
// 열의 데이터를 내림차순으로 정렬
}
},
),
DataColumn(
label: Text('나이'),
onSort: (columnIndex, ascending) {
if (ascending) {
// 열의 데이터를 오름차순으로 정렬
} else {
// 열의 데이터를 내림차순으로 정렬
}
},
),
],
// 테이블 데이터
);
위의 예제에서, 각 DataColumn의 onSort 콜백 함수를 사용하여 데이터를 오름차순이나 내림차순으로 정렬할 수 있습니다.
행 데이터 정렬하기
플러터 Table 위젯에서는 행 데이터를 직접적으로 정렬하는 기능은 기본으로 제공되지 않습니다. 하지만, 행 데이터를 정렬하려면 DataTable에 출력할 데이터를 미리 정렬한 후에 표시할 수 있습니다.
List<DataRow> sortedRows = _rows.toList();
sortedRows.sort((a, b) => a.name.compareTo(b.name));
DataTable(
columns: [
DataColumn(label: Text('이름')),
DataColumn(label: Text('나이')),
],
rows: sortedRows,
);
위의 예제에서, _rows 리스트를 원하는 기준에 따라 미리 정렬한 후, 정렬된 행을 사용하여 DataTable 위젯을 만듭니다.
이렇게 함으로써, Table 위젯에서 열 데이터와 행 데이터를 각각 정렬하는 방법에 대해 알아보았습니다.
마무리
이 문서에서는 플러터 Table 위젯에서 테이블 데이터를 정렬하는 방법을 살펴보았습니다. DataTable 위젯의 onSort 프로퍼티를 활용하여 열 데이터를 정렬하고, 행 데이터를 정렬하기 위해서는 미리 정렬된 데이터를 DataTable에 전달하는 방법을 사용할 수 있습니다.
이러한 접근 방법을 활용하여 사용자가 데이터를 편리하게 정리하고 확인할 수 있는 앱을 개발할 수 있습니다.