Update et isert dans un detailsView

coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010 - 8 mars 2009 à 23:51
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010 - 9 mars 2009 à 11:32
bonsoir à tous


comment se fait un update et un insert dans un detailsview je voulais savoir est ce que je dois spécifier à chaque fois la cellule de mon detailsview??
quelle est la différence entre



DetailsView1_ItemUpdating et  DetailsView1_ItemUpdated de meme




DetailsView1_ItemInserted et  DetailsView1_ItemInserting
derniere question comment je peut transferer une ligne retourné par une requete (update par exp) par le biais d'une variable de session ( je sais comment transérer et récuperer une simple variable, est ce le cas pour toute une ligne de données???)

merciiiiiiiiii

4 réponses

RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
9 mars 2009 à 03:35
msdn est ton ami:

lors du click sur un bouton update:

ItemUpdating: avant que l'item ne soit mis a jour:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.itemupdating(VS.85).aspx

ItemUpdated: apres que l'item ait été mis à jour:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.detailsview.itemupdated(VS.85).aspx

pas compris ta question avec variables de session par contre.
Session["clé"] = "valeur";
pour écrire quelquechose dans la session, tu peux n'importe quoi dans la session (mm un custom objet).
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
9 mars 2009 à 10:23
peut etre que je ne me suis pas bien expliquée: mon application consiste a faire une correction de pointage par matricule.la liste de pointage sera affiché dans le gridview, l'employé peut modifier son pointage (insérer dans le detailsview(pour une nouvelle date qui ne figure pas dans le gridview) ou éditer (en insérant ou supprimant un pointage si la date figure dans le gridview)
en fait je te raconte toute cette histoire pour te dire qu'en faisant une insertion de pointage , je dois faire un insert dans une autre table( insertPointage) , et un update dans la table Pointages: l'insertion doit etre automatique mais l'update ne se fait qu' apres la validation du chef hierachique du l'employer c'est pour cette raison je dois transferer la ligne à modifer dans la page administrateur
le meme discours se déroule lors d'une suppression de pointage mais cette fois ci l'insertion du pointage supprimé se fait dans une table deletePointage et de meme l'update se fait apres la validation du chef hierarchique

je récapitule
mon probleme ou plutot mes problèmes sont les suivants:
1-est ce que dans un evenement itemUpdating je peut faire une insertion dans une nouvelle table (autre ma table source)
2-est ce que je peux transferer la ligne de l'update dans une autre page par une variable de session?
3-est il faisable de distinguer entre insertion et suppression de pointage; je voulais dire est y a t il  une autre methode plus efficace pour distinguer la table dans la quelle je fais mon insertion(insertPointage ou deletePointage) autre que comparer le contenu de chaque cellule du detailsview

j'espere que tu m'as compris et désolé si je t'embete avec toute cette histoire
0
RougailSaucisse Messages postés 118 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 6 décembre 2010 1
9 mars 2009 à 11:18
vriament désolé mais j'ia un peu de mal a comprendre le principe la.
Alors dis moi si je me trompe:

Est-ce que tu ne voudrais pas tout simplement avoir une table "pointage" avec une validation par un administrateur des nouvelles entrées (insertion) ainsi qu'ne validation de la suppression d'une entrée?

Si c'est bien ce que tu cherches à faire, pourquoi ne pas tout simplement rajouter 2 champs à ta table pointage. Un champ "NouvelleEntree" et un champ "NouvelleSortie" tous deux de types "bit" (ne peux prendre que 2 valeurs, 0 ou 1, correspond a boolean en type .net).
donc quand tu ajoutes un nouveau pointage, tu mets le champ "NouvelleEntree" à 1.
Ensuite pour que tes administrateurs puissent visualiser tous les pointages a valider tu n'auras qu'a faire un SELECT * FROM Pointage WHERE NouvelleEntree = 1
Et lorsqu'il valide le pointage, tu fais un update et tu set NouvelleEntree à 0.
Le mm principe s'appliquerait avec NouvelleSortie pour la suppression. Tu affiches tous les pointages a supprimer en faisant SELECT * FROM Pointage WHERE NouvelleSortie = 1 (par defaut nouvellesortie serait a 0 bien sur).
et lorsqu'il valide la suppression tu peux DELETE ton enregistrement.

De cette manière tu n'as qu'une seule table à gérer et tu evites complications + redondance d'informations.

si ton probleme n'est pas du tout celui, alors désolé (il est tard ici je ne comprends plus très bien avec la fatigue lol)
0
coccolata Messages postés 86 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 26 mai 2010
9 mars 2009 à 11:32
:( merci comme meme pour conseils
j'aurais voulu faire ceci mais tu ne peux pas insérer un pointage dans la table pointage qui n'est pas encore validé par ton chef!!
de plus dans la page destiné aux administrateurs j'affiche 3 gridview
1 pour le pointage du chef (parce un chef enfin du compte est un employer qui a son chef!)
1 pour tout les pointages insérés
1 pour tout les pointages supprimés

quand le chef valide en acceptant l'ajout du pointage-> on fait l'update dans la table pointage
si il refuse pas d'update
 de meme quand il accepte la supp de pointage ->update ds table pointage
si il refuse-> pas d'update

tu vois, je peux pas mettre tout dans une meme table,de plus c'est recommandé de la part de la  sociéte qui m'a engagé de faire ce mini projet

en tout cas je ne vous engueule pas avec mon probleme
je vais refléchir une autre fois
0
Rejoignez-nous