[flutter] DataTable에서 특정 셀에 값 변경하는 방법

Flutter에서 DataTable 위젯은 표 형식의 데이터를 표시하는 데 사용됩니다. 다른 위젯과 마찬가지로 DataTable에서도 특정 셀에 값을 변경할 수 있습니다. 이러한 변경을 수행하려면 몇 가지 단계를 따라야 합니다.

DataTable 빌드하기

먼저, DataTable를 작성하고 데이터를 입력해야 합니다. 다음은 간단한 DataTable의 예제입니다.

DataTable(
  columns: const <DataColumn>[
    DataColumn(label: Text('이름')),
    DataColumn(label: Text('나이')),
  ],
  rows: <DataRow>[
    DataRow(cells: <DataCell>[
      DataCell(Text('홍길동')),
      DataCell(Text('30')),
    ]),
    DataRow(cells: <DataCell>[
      DataCell(Text('둘리')),
      DataCell(Text('10')),
    ]),
  ],
)

값 변경하기

특정 셀에 값을 변경하려면 setState를 사용하여 DataTable을 다시 작성해야 합니다. 이를 위해 선택한 셀의 값을 변경하는 메서드를 작성해야 합니다.

String selectedName = '홍길동'; // 예시로 '홍길동'을 선택한 것으로 가정
String newName = '신사임당'; // 변경할 이름

void changeCellValue(String newName) {
  setState(() {
    for (var row in rows) {
      for (var cell in row.cells) {
        if (cell.child == Text(selectedName)) {
          cell.child = Text(newName);
          break;
        }
      }
    }
  });
}

이제 선택한 셀의 값을 변경하기 위해 changeCellValue 메서드를 호출할 수 있습니다.

요약

Flutter에서 DataTable의 특정 셀을 변경하는 방법을 살펴보았습니다. 이것은 데이터 테이블을 사용하여 표 형식의 데이터를 표시하는 앱을 개발하는 동안 유용한 기능입니다.

참고 자료: