Bonjour,
Je suis débutant et j'essaye de développer une petite application en 4-tiers architecture dans le cadre d'une formation.
Pour tester certaines fonctions(delete,update,tri...), je récupère les informations par un objet Data Table et j'affiche les lignes (nom, prénom..) sur une page ASP via Gridview.
Pour le tri des colonnes ou de DELETE pas de problème. Pas de problème non plus pour INSERT.
Pour la fonction update j'ai quelques soucies .. En effet, Dans ma table j'ai tous les champs, mais je n'affiche qu'une partie avec ma GridView. Mais, j'ai besoin de récupérer tous les champs y compris ceux qui ne sont pas affichés avec leur valeurs d'origine, parce que je souhaite avoir une seule procédure stockée dans ma couche de persistance pour la fonction UPDATE.
Question : Comment récupérer les valeurs de ces champs ?
Merci d'avance..
Voici le bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 /// Se déclenche quand on clique sur le bouton "Mise à Jour" protected void UpdateRecord(object sender, GridViewUpdateEventArgs e) { // e.RowIndex = index de la ligne. Donc on recupere l'identifiant de l'utilisateur de la ligne e.RowIndex int IdUtilisateur = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()); int intResult = 0; GridViewRow row = GridView1.Rows[e.RowIndex]; // les champs affichés : TextBox tPn = (TextBox)row.FindControl("txtPnom"); TextBox tNm = (TextBox)row.FindControl("txtNm"); TextBox tPsd = (TextBox)row.FindControl("txtPseudo"); TextBox tEml = (TextBox)row.FindControl("txtMail"); // instancier BAL UtilisateurBAL uBAL = new UtilisateurBAL(); Utilisateur utilisateur = new Utilisateur(); try { utilisateur.IdUtilisateur =IdUtilisateur; utilisateur.Nom = tNm.Text; utilisateur.Prenom = tPn.Text; utilisateur.Pseudo = tPsd.Text; utilisateur.Email = tEml.Text; // comment recupérer les champs non affichés pour ne pas avoir plusieures procédures stockées //DateInscription //TypeUtilisateur //Ville //Pays //DateDeNaissance //Civilité...... // instanciation Business Access Layer qui lui appele Data Access Layer intResult = uBAL.Update(utilisateur); if (intResult > 0) lblMessage.Text = "l'enregistrement mis à jour avec succès."; else lblMessage.Text = "l'enregistrement n'a pas pu être mis à jour."; } catch (Exception ee) { lblMessage.Text = ee.Message.ToString(); } finally { utilisateur = null; uBAL = null; } GridView1.EditIndex = -1; // Rafrechir la list BindGrid(); }
Partager