IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Modification d'un gridview en couleur


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut Modification d'un gridview en couleur
    Bonjour,

    J'ai créé un simple gridview relié à une bd access sous web developer en VB.

    Je désire que lorsque quelqu'un effectue une modification, celle-ci s'affiche d'une autre couleur dans le gridview.


    Merci de m'aider

  2. #2
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Citation Envoyé par 0365752
    Bonjour,

    J'ai créé un simple gridview relié à une bd access sous web developer en VB.

    Je désire que lorsque quelqu'un effectue une modification, celle-ci s'affiche d'une autre couleur dans le gridview.

    Merci de m'aider
    De quelle partie exactement ? Tu parles de la ligne en edition ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Je désire que une fois l'enregistrement modifié, quand on retourne sur la page, les données modifiées aparaissent en rouge.

    Donc, on peut savoir que la donnée en rouge est une donnée qui a été modifiée de ce qu'elle était au début.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Le but est uniquement d'indiquer qu'il y a eu modification à une ligne du gridview.

  5. #5
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Il faut avoir un Flag dans ta bd qui permetterait de savoir si la ligne a été modifiée ou pas, ensuite dans l'évenement RowCreated tu fais :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (e.Row.RowType == DataControlRowType.DataRow)
            {
                bool modifiée = (bool)System.Web.UI.DataBinder.Eval(e.Row.DataItem, "Flag");
     
               e.Row.BackColor = modifiée ? System.Drawing.Color.White : System.Drawing.Color.Black;
            }

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    et comment mettre un "flag" dans une bd access ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    et mon application est en VB non en C#

  8. #8
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    0365752, bizarre comme pseudo....

    ALors, pour mettre un flag dans ta bd, tu ajoute simplement un champ que tu modifieras lors des Update dans la base.

    Mais avant ça, éclaire moi sur un détail : sur quel critère te base tu pour savir que la ligne a été modifiée ?

    Prenons un exemple :
    - il y a 5 lignes dans ta table
    - un utilisateur vient modifier la ligne 3 donc elle apparait en rouge
    - un autre utiisateur vient modifier la ligne 5 donc elle apparait en rouge
    - encore un autre utilisateur vient modifier une nouvelle fois la ligne 3 elle apparait comment alors ?

    Ou plus globalement, la modification de la ligne intervient comment et pourquoi ?

    Parce qu'il y a aussi une autre possibilité qui va t'obligé à revoir la structure de ta table : il faut que tu place deux chamsp date, Date_Ajout, Date_Modification que tu initialise avec un Now() (ça doit être comme ç en Acces pour récupérer la date courante).

    Donc, lrosque l'enregistrement est créé, les deux chamsp ont la même date.
    dés que quelqu'un modifie, tu mets dans l'UPDATE un Now() pour le champ date de modificationet donc tes deux n'ont plus la mêm valeur et donc tu peux savoir que la ligne est modifiée.
    De fait, en reprenant le bout de code qui t'a été donné plus bas, tu fais le test pour afficher ta ligne rouge sur la différence de date.

    Tu voudrais pas nous filer le bout de code que tu utilises pour charger ton gridview, comme ça on pourrait voir plus en détail.

    Kenavo

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut Asp.net | Vb
    AUCUN

  10. #10
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    Comment veux tu savoir qu'une ligne a été modifiée ?

    Il faut bien le sauvegarder quelque part dans ta base de données. Zoofy a bien expliqué le mécanisme par Flag ou date.

    Et enfin le code de changement de couleur tu l'as déjà, certes en C# mais on pourra le traduire en VB.Net quand tu seras convaincu de la solution

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Salut,

    Il y a possibilité de se connecter à un module administrateur. Ceux-ci peuvent, ajouter, modifier et effacer les données. Dans le cas de l'horaire des employés, il arrive fréquemment qu'un administrateur change l'heure ou le lieu du match de hockey. Présentement, tout fonctionne à merveille. Par contre, quand un administrateur change une donnée, il faut que l'employé le voit (d'une façon ou d'une autre) quand il se connecte... Il faut qu'il soit averti que son horaire a été modifié.

    Vous pouvez aller voir sur le même site et vous connecter en tant qu'administrateur pour visualiser la chose. "513" et "gestionz5"

    Je suis désolé si je comprends les choses moins rapidement, je suis encore débutant. Si vous voulez avoir un accès ftp pour voir mes fichiers, je vous le donnerai par courriel.

    Merci de vous impliquer autant, c'est vraiment apprécié, d'autant plus que la saison débute sous peu.

  12. #12
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    bon, je comprends mieux.
    Je penbse en fait que ton problème ne vient pas forcément du fait savoir changer la couleur ou pas. Pour ça, tu attends Lundi, j'ai un bout de code en VB qui marche bien, mais il est au bureau.

    Par contre, ton vrai problème est dans la conception de ta base de données.
    Je vasi réexprimé ton vrai besoin et tu vas mieux comprendre :
    ce que tu souhaite c'est que les utilisateurs passant sur le tableau des matchs soient informé qu'il y a des données qu'il n'ont pas lu (et pas forcément qu'elle soient modifiées). Donc il faut que tu mette ne palce une structure de base de donnée qui permet de savoir si tel employé à lu toute les données du tableau ou pas. ça se fait en SQL avec plusieurs tables et une grosse requête qui va nourrir ton GridView. Ensuite tu fais une recherche du flag qui dit que c'est pas lu et là tu change la couleur.

    Je pourrais t'aider mieu Lundi, quand je serais au boulot, d'abords arce que j'ai ma pelouse à tondre, mais surtout parce que j'ai pas les outils ici, chez moi. En attendant, essaye de me faire un script de création de tes tables. Comme ça, je pourrais voir à quoi elle ressemble de plus près. En fait, envoi moi carrément ton fichier ACCESS par mail ou donne moi un accès FTP pour que j'aille le rechercher.

    Kenavo

  13. #13
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, je viens de descendre deux de tes trois bases.
    outre le fait que vraiment il faut que tu revoi ton modèle de données, je vasi te donner une marche à suivre pour tenter de t'apporter une solution :
    - il faut que tu crée une table à deux champs qui va reprendre les caratactèristiques de l'id user de la table des user et de l'ID de la table des infos
    - ensuite tu prépares une requête qui va faire un jointure externe (LEFT JOIN) sur l'id des info entre cette nouvelle table et la table des infos. Dans cette requête tu envoi un clause where ou directement dans l'expression de la jointure l'id du user connecté. Ainsi tu aura des champ vide et des champ avec l'id du user.
    - si l'id du user tu mets la ligne en bleu (exemple ! ) si l'id est vide tu mets la ligne en rouge (autre exemple).

    Pour gérer ce genre de chose voici un bout de code que j'utilise pour savoir si un message est lu ou pas en fonction de la présence d'un 1 ou d'un 0 dans une colone de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	Protected Sub gvMsgRecu_DataBound(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvMsgRecu.DataBound
    		For i As Int16 = 0 To gvMsgRecu.Rows.Count - 1
    			If dtm.DefaultView.Item(gvMsgRecu.Rows(i).DataItemIndex).Item("lu") = 0 Then
    				gvMsgRecu.Rows(i).BackColor = Drawing.Color.Green
    			ElseIf dtm.DefaultView.Item(gvMsgRecu.Rows(i).DataItemIndex).Item("lu") = 1 Then
    				gvMsgRecu.Rows(i).BackColor = Drawing.Color.Red
    			Else
    				gvMsgRecu.Rows(i).BackColor = Drawing.Color.White
    			End If
    		Next
    	End Sub
    Voilà, avec ça tu es paré pour l'aventure. Désolé dene pas t'écrire la requête pour faire la jointure, mais ACCESS gère vraimetn trop mal ces truc là et j'ai décroché de ACCESS avec la version 97, donc.......
    Si tu passe en SQL server, j'y connais un peu plus.

    Kenavo

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Merci Kenavo... je vais essayer de m'initier à toute cette programmation.
    Peux-tu me dire plus précisement comment "revoir" mon modèle comme tu le dis ?

  15. #15
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben pour revoir ton modèle y a du boulot.

    Faudrait plutôt que tu t'oriente vers un tutorial de BDD ou un truc traite de MERISE. C'est une super méthode pour mettre en place des BDD.

    Sincèrement, je ne pense pas disposer du temps necéssaire pour t'apporter autant d'aide. En tout cas avec MERISE comme mot clé, tu va trouver plein de truc trés abordable sur le net.

    Bonne continuation.

    Kenavo

    PS : Kenavo n'est pas mon pseudo, ça veux dire "au revoir" en breizhoneg

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2007
    Messages : 12
    Par défaut
    Merci.

    Si jamais tu connais un programmeur qui peut réviser le tout à prix raisonnable, fais-le moi savoir.

    Bonne journée.

Discussions similaires

  1. Modification largeur colonne GridView
    Par CoderCool dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/01/2009, 17h06
  2. Gridview+changer couleur de ligne apres selection
    Par lg022 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/07/2008, 12h22
  3. Modification de la palette de couleur d'un TImage
    Par Guigui_ dans le forum Langage
    Réponses: 7
    Dernier message: 09/11/2007, 23h10
  4. Réponses: 1
    Dernier message: 19/09/2007, 12h19
  5. Réponses: 11
    Dernier message: 24/08/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo