Create a groupedList with map

Asked

Viewed 28 times

2

Hello, I’m new to flutter and I’m trying to create a list with grouping using the map, but I’m not getting... I saw that I can use the Groupedlistview, but how to map it?

GroupedListView(
   elements: _elements,
   groupBy: (element) => element['group'],
   groupSeparatorBuilder: _buildGroupSeparator,
   itemBuilder: (context, element) => Text(element['name']),
   order: GroupedListOrder.ASC,
 ),

My JSON, I want to list the content of "historico", grouping by "dentista_codigo" :

{
    "status": {
        "status": 1,
        "result": "OK",
        "mensagem": ""
    },
    "historico": [
        {
            "dentista_codigo": "000123",
            "nome": "Dentista Teste 1",
            "cod_tuss": "81000057",
            "data_lancamento": "02/10/2019",
            "descricao_tuss": "Consulta Odontológica de Urgência 24 H",
            "dente_regiao": "36",
            "face": "",
            "procedimento_realizado": "1",
            "data_realizacao": "02/10/2019",
            "avaliacao": 5
        },
        {
            "dentista_codigo": "000123",
            "nome": "Dentista Teste 1",
            "cod_tuss": "81000085",
            "data_lancamento": "02/10/2019",
            "descricao_tuss": "Consulta Odontológica de Urgência 24 H",
            "dente_regiao": "11",
            "face": "",
            "procedimento_realizado": "1",
            "data_realizacao": "02/10/2019",
            "avaliacao": 5
        },
        {
            "dentista_codigo": "999123",
            "nome": "Dentista Teste 2",
            "cod_tuss": "81000090",
            "data_lancamento": "08/11/2018",
            "descricao_tuss": "Consulta Odontológica de Urgência 24 H",
            "dente_regiao": "11",
            "face": "",
            "procedimento_realizado": "1",
            "data_realizacao": "08/11/2018",
            "avaliacao": 3
        }   
        
    ]
}

The JSON response class

class Historico {
  String dentistaCodigo;
  String nome;
  String codTuss;
  String dataLancamento;
  String descricaoTuss;
  String denteRegiao;
  String face;
  String procedimentoRealizado;
  String dataRealizacao;
  int avaliacao;

  Historico(
      {this.dentistaCodigo,
      this.nome,
      this.codTuss,
      this.dataLancamento,
      this.descricaoTuss,
      this.denteRegiao,
      this.face,
      this.procedimentoRealizado,
      this.dataRealizacao,
      this.avaliacao});

  Historico.fromJson(Map<String, dynamic> json) {
    dentistaCodigo = json['dentista_codigo'];
    nome = json['nome'];
    codTuss = json['cod_tuss'];
    dataLancamento = json['data_lancamento'];
    descricaoTuss = json['descricao_tuss'];
    denteRegiao = json['dente_regiao'];
    face = json['face'];
    procedimentoRealizado = json['procedimento_realizado'];
    dataRealizacao = json['data_realizacao'];
    avaliacao = json['avaliacao'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['dentista_codigo'] = this.dentistaCodigo;
    data['nome'] = this.nome;
    data['cod_tuss'] = this.codTuss;
    data['data_lancamento'] = this.dataLancamento;
    data['descricao_tuss'] = this.descricaoTuss;
    data['dente_regiao'] = this.denteRegiao;
    data['face'] = this.face;
    data['procedimento_realizado'] = this.procedimentoRealizado;
    data['data_realizacao'] = this.dataRealizacao;
    data['avaliacao'] = this.avaliacao;
    return data;
  }
}
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.