desole pour le code. je vais te l’envoyer tout de suite.
import ‹ package:cloud_firestore/cloud_firestore.dart ›;
import ‹ package:flutter/material.dart ›;
class ListEnvoieScreen extends StatefulWidget{
@override
_ListEnvoieScreenState createState() => _ListEnvoieScreenState();
}
class _ListEnvoieScreenState extends State{
TextEditingController telController = TextEditingController();
TextEditingController nomprenomexController = TextEditingController();
TextEditingController montantController = TextEditingController();
TextEditingController fraisController = TextEditingController();
TextEditingController destinationController = TextEditingController();
TextEditingController teldesController = TextEditingController();
TextEditingController nomprenomdesController = TextEditingController();
DateTime _dateTime;
buildTextField(
TextEditingController controller, String labelText){
return Container(
padding: EdgeInsets.symmetric(horizontal: 10, vertical: 5),
decoration: BoxDecoration(
color: Colors.white, border: Border.all(color: Colors.black)),
child: TextField(
controller: controller,
style: TextStyle(color: Colors.black),
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(horizontal: 10),
labelText: labelText,
labelStyle: TextStyle(color: Colors.black),
//prefix: Icon(icon),
border: InputBorder.none),
),
);
}
CollectionReference ref = Firestore.instance.collection(‹ transfert ›);
@override
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(backgroundColor: Colors.orange, elevation: 0),
backgroundColor: Colors.white,
body: StreamBuilder(
stream: ref.snapshots(),
builder: (_, AsyncSnapshot snapshot){
if(snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index){
var doc = snapshot.data.documents[index].data;
return ListTile(
leading: IconButton(
icon: Icon(Icons.edit),
color: Colors.orange,
onPressed: (){
telController.text=doc[‹ Telephone de l’expediteur ›];
nomprenomexController.text=doc[‹ Nom & Prenom de l’expediteur ›];
montantController.text=doc[‹ Montant envoyé ›];
fraisController.text=doc[‹ frais d’envoi ›];
destinationController.text=doc[‹ Destination ›];
teldesController.text=doc[‹ Telephone du destinataire ›];
nomprenomdesController.text=doc[‹ Nom & Prenom du destinataire ›];
showDialog(
context: context,
builder: (context)=> Dialog(
child: Container(
color: Colors.white,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: ListView(
shrinkWrap: true,
children:[
buildTextField(telController, ‹ Telephone de l’expediteur ›),
SizedBox(height: 20),
buildTextField(nomprenomexController, ‹ Nom & Prenom de l’expediteur ›),
SizedBox(height: 20),
buildTextField(montantController, ‹ Montant envoyé ›),
SizedBox(height: 20),
buildTextField(fraisController, ‹ Frais d’envoi ›),
SizedBox(height: 20),
buildTextField(destinationController, ‹ Destination ›),
SizedBox(height: 20),
buildTextField(teldesController, ‹ Telephone du destinataire ›),
SizedBox(height: 20),
buildTextField(nomprenomdesController, ‹ Nom & Prenom du destinataire ›),
SizedBox(height: 10),
FlatButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
color: Colors.orange,
child: Text('Modifier ', style: TextStyle(
fontSize: 20, fontWeight: FontWeight.bold),),
onPressed:() {
snapshot.data.documents[index]
.reference
.updateData({
« Telephone de l’expediteur »: telController.text,
« Nom & Prenom de l’expediteur »: nomprenomexController.text,
« Montant envoyé »: montantController.text,
« frais d’envoi »: fraisController.text,
« Destination »: destinationController.text,
« Telephone du destinataire »: teldesController.text,
« Nom & Prenom du destinataire »: nomprenomdesController.text,
}).whenComplete(() => Navigator.pop(context));
},),
SizedBox(height: 10),
RaisedButton(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(20),
),
color: Colors.orange,
child: Text('Supprimer ', style: TextStyle(
fontSize: 20, fontWeight: FontWeight.bold),),
onPressed:() {
snapshot.data.documents[index]
.reference
.delete().whenComplete(() => Navigator.pop(context));
},)
],
),
),
),
),
);
},
),
title: Text(
doc[‹ Telephone de l’expediteur ›],
style: TextStyle(color: Colors.red),
),
subtitle: Column(
children: [
Text(
doc[‹ Nom & Prenom de l’expediteur ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Montant envoyé ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ frais d’envoi ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Destination ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Telephone du destinataire ›],
style: TextStyle(color: Colors.black),
),
Text(
doc[‹ Nom & Prenom du destinataire ›],
style: TextStyle(color: Colors.black),
),
],
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
) ,
);
});
}
else
return Text('');
},
),
);
}
}