I have a listview as drawn and I want to add up the values that I have marked in red, how do I do that to be able to add the values above.
and this is the model used in the listview above, and the value you want to add up is the ‘sks’ value in the model with the INT data type
class SumValue {
SumValue({
this.status,
this.code,
this.data,
});
String status;
String code;
List<Datum> data;
factory SumValue.fromJson(Map<String, dynamic> json) => SumValue(
status: json["status"],
code: json["code"],
data: List<Datum>.from(json["data"].map((x) => Datum.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"status": status,
"code": code,
"data": List<dynamic>.from(data.map((x) => x.toJson())),
};
}
class Datum {
Datum({
this.idTranskripNilai,
this.idMk,
this.kodeMk,
this.nmMk,
this.sks,
this.smt,
this.nilaiAkhirUts,
this.nilaiHurufUts,
this.nilaiIndeksUts,
this.nilaiAkhirUas,
this.nilaiAkhir,
this.nilaiHurufAkhir,
this.nilaiIndeksAkhir,
this.statusNilaiAkhir,
this.statusNilaiUts,
this.updatedBy,
});
String idTranskripNilai;
String idMk;
dynamic kodeMk;
String nmMk;
int sks;
int smt;
String nilaiAkhirUts;
String nilaiHurufUts;
String nilaiIndeksUts;
String nilaiAkhirUas;
String nilaiAkhir;
String nilaiHurufAkhir;
String nilaiIndeksAkhir;
int statusNilaiAkhir;
int statusNilaiUts;
String updatedBy;
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
idTranskripNilai: json["id_transkrip_nilai"],
idMk: json["id_mk"],
kodeMk: json["kode_mk"],
nmMk: json["nm_mk"],
sks: json["sks"],
smt: json["smt"],
nilaiAkhirUts: json["nilai_akhir_uts"],
nilaiHurufUts: json["nilai_huruf_uts"],
nilaiIndeksUts: json["nilai_indeks_uts"],
nilaiAkhirUas: json["nilai_akhir_uas"] == null ? null : json["nilai_akhir_uas"],
nilaiAkhir: json["nilai_akhir"] == null ? null : json["nilai_akhir"],
nilaiHurufAkhir: json["nilai_huruf_akhir"] == null ? null : json["nilai_huruf_akhir"],
nilaiIndeksAkhir: json["nilai_indeks_akhir"] == null ? null : json["nilai_indeks_akhir"],
statusNilaiAkhir: json["status_nilai_akhir"] == null ? null : json["status_nilai_akhir"],
statusNilaiUts: json["status_nilai_uts"] == null ? null : json["status_nilai_uts"],
updatedBy: json["updated_by"],
);
Map<String, dynamic> toJson() => {
"id_transkrip_nilai": idTranskripNilai,
"id_mk": idMk,
"kode_mk": kodeMk,
"nm_mk": nmMk,
"sks": sks,
"smt": smt,
"nilai_akhir_uts": nilaiAkhirUts,
"nilai_huruf_uts": nilaiHurufUts,
"nilai_indeks_uts": nilaiIndeksUts,
"nilai_akhir_uas": nilaiAkhirUas == null ? null : nilaiAkhirUas,
"nilai_akhir": nilaiAkhir == null ? null : nilaiAkhir,
"nilai_huruf_akhir": nilaiHurufAkhir == null ? null : nilaiHurufAkhir,
"nilai_indeks_akhir": nilaiIndeksAkhir == null ? null : nilaiIndeksAkhir,
"status_nilai_akhir": statusNilaiAkhir == null ? null : statusNilaiAkhir,
"status_nilai_uts": statusNilaiUts == null ? null : statusNilaiUts,
"updated_by": updatedBy,
};
}
there are some references that I saw but most of them use a list that already has a value for example as below, but what if the data comes from the API
void main() {
List<Data> listData = [
Data(count: 10, name: 'a'),
Data(count: 12, name: 'bc'),
Data(count: 21, name: 'abc'),
];
int sum = listData.fold(0, (int preValue, data) => preValue + data.count);
print(sum);// 43
}
class Data {
int count;
String name;
Data({required this.count, required this.name});
}
2
Answers
import build in collection package :
map your data from api to new list
use
.sum
method to get the sum of collection:you can add another fucntion to your
SumValue
class