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 :

problème avec RowDataBound


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut problème avec RowDataBound
    Bonjour,

    j'essaie de comparer les lignes d'une colonne de mon gridview, pour ceci j'ai mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer = 1
     While i < GridViewXX.Rows.Count
                    If GridViewXX.Rows(0).Cells(0).Text = GridViewXX.Rows(i).Cells(0).Text Then
                        GridViewXX.Rows(0).Cells(0).BackColor = Drawing.Color.Green
                        GridViewXX.Rows(i).Cells(0).BackColor = Drawing.Color.Green
                    End If
                    i = i + 1
                End While
    mais ceci n'est pas pris en comptes ni pour la dernière ligne ni pour les autres pages de mon gridview.
    c'est comme si la vérification se fait seulement sur la première page ou sur chaque page séparément.
    et quand je supprime allowpaging="true" de mon gridview tout marche bien.
    sachant que tout cela je le mets à l'intérieur d'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Protected Sub GridViewXX_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridViewXX.RowDataBound
         End Sub
    une aide ? et merci

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    bonjour,

    pour commencer, pour comparer deux strings, rien de mieux que la fonction Equals() de ta String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GridViewXX.Rows(0).Cells(0).Text.Equals(GridViewXX.Rows(i).Cells(0).Text)
    Pour le fond de ta question, c'est normal puisque tu travailles sur le rendu de ta grid. Il faut que tu travailles sur sa source de données si tu veux en manipuler tous les éléments.

  3. #3
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Et je rajouterai même :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    GridViewXX.Rows(0).Cells(0).Text.Equals(GridViewXX.Rows(i).Cells(0).Text, StringComparison.CurrentCultureIgnoreCase)

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut
    Bonjour,
    merci pour vos réponses.
    voilà j'ai travaillé avec ma source de données ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer
            i = 0
            While i < dt.Rows().Count() - 1
                If dt.Rows(i).Item(0).ToString = "UnNom" Then
                    dt.Rows(i).Delete()
                End If
                i = i + 1
            End While
    j'ai vérifié avec Delete() et ça marche , mais je ne trouve pas comment seulement changer le style de ces lignes au lieu de les supprimer ?

    Merci encore

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Une idée parmi d'autres (difficile de te répondre sans connaître le contexte) :
    - a priori, tu te sers d'un DataTable. Pour quoi ne pas y ajouter une colonne booléenne dans laquelle tu stockes 0 si tu veux une BackColor rouge et 1 si tu veux une BackColor Green.
    Dans ton évènement rowdatabound, tu peux tester la valeur de cette colonne pour affecter le BackColor qui va bien.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Octobre 2010
    Messages : 163
    Par défaut
    Bonjour,

    Merci calagan99 , ton idée marche super bien :-)
    Une question svp avant de mettre mon sujet en résolu, j'essaie de mettre la colonne que j'ai ajouté en visible=false mais ça me donne toujours l'erreur que je suis hors index.

    merci à vous tous.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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