본문 바로가기

Flutter-플러터/플러터 공부

Flutter 구글 스프레드 시트 연동 3 - 데이터 삭제

728x90
반응형




https://www.youtube.com/watch?v=7RBMsjgAocs&list=TLPQMjkxMDIwMjMfUFMLpVd78w&index=3&ab_channel=HeyFlutter%E2%80%A4com

 

데이터를 받아 올 때 구글 스페레드 시트가 오류가 나면 

대응 하는 코드 

  Future getUsers() async {
    try {
      final users = await UserSheetsApi.getAll();
      if (users != null && users.isNotEmpty) {
        setState(() {
          this.users = users;
        });
      } else {
        ScaffoldMessenger.of(context)
            .showSnackBar(SnackBar(content: Text('데이터를 가져오는 데 문제가 발생했습니다.')));
      }
    } catch (e) {
      ScaffoldMessenger.of(context)
          .showSnackBar(SnackBar(content: Text('데이터 파싱 중 오류가 발생했습니다: $e')));
    }
  }

 

 

해당 인덱스의 데이터를 삭제 하는 코드 

  static Future<bool> deleteById(int id) async {
    if (_userSheet == null) return false;
    final index = await _userSheet!.values.rowIndexOf(id);
    if (index == 1) return false;
    return _userSheet!.deleteRow(index);
  }

 

 

리스트 타일에서  user 리스트의 인덱스 
구글 스프레드시트의 user .id 값을 찾아내서 지우고 
getUsers 코드를 통해서 동기화 작업 하는 코드 

 

   final user = users[index];
                      Future deleteUser() async {
                        await UserSheetsApi.deleteById(user.id!);

                        await getUsers();
                      }
728x90
반응형