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 :

Remplissage d'un DataGridView


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut Remplissage d'un DataGridView
    Bonjour

    Je voudrais remplir un DataGridView à partir d'une requete sur une table Access
    Dans ma table access j'ai des champs de 8 à 23
    Je voudrais changer la couleur de la cell(3) row(2) si la valeur du champs 10 est égal à 1
    Je ne vois pas comment faire
    Poiuvez-vous m'aider
    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 : 41
    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,

    donne nous du code pour que nous puissions t'aider...

    Sinon, le DataGridView n'existe pas en Asp.Net. Tu as :
    • DataGrid
    • GridView


    Une solution possible consiste à traiter ce cas dans l'évènement onRowDataBound de ta GridView.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Effectivement je créé un GridView comme ceci

    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
    61
    62
    63
    64
    <asp:GridView ID="GdvLundi" runat="server" AutoGenerateColumns="False" 
                    Width="630px"
                    onrowdatabound="GdvLundi_RowDataBound">
                        <Columns>
                            <asp:HyperLinkField DataNavigateUrlFields="Employe" 
                            DataNavigateUrlFormatString="~\Gestion\FicheClient.aspx?IDclient={0}" 
                            DataTextField="Employe" HeaderText="Employé" Target="_blank">
                            <ItemStyle Font-Size="10px" Width="100px" />
                            </asp:HyperLinkField>
                            <asp:BoundField DataField="8" HeaderText="8h" SortExpression="8">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="9" HeaderText="9h" SortExpression="9">
                            <ItemStyle Font-Size="12px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="10" HeaderText="10h" SortExpression="10">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="11" HeaderText="11h" SortExpression="11">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="12" HeaderText="12h" SortExpression="12">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="13" HeaderText="13h" SortExpression="13">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="14" HeaderText="14h" SortExpression="14">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="15" HeaderText="15h" SortExpression="15">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="16" HeaderText="16h" SortExpression="16">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="17" HeaderText="17h" SortExpression="17">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="18" HeaderText="18h" SortExpression="18">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="19" HeaderText="19h" SortExpression="19">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="20" HeaderText="20h" SortExpression="20">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="21" HeaderText="21h" SortExpression="21">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="22" HeaderText="22h" SortExpression="22">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField DataField="23" HeaderText="23h" SortExpression="23">
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                            <asp:BoundField  HeaderText="TOTAL" >
                            <ItemStyle Font-Size="10px" Width="40px" />
                            </asp:BoundField>
                        </Columns>
                        <RowStyle Font-Names="Arial" BackColor="AliceBlue" />
                        <HeaderStyle BackColor="AliceBlue" ForeColor="Black" />
                   </asp:GridView>
    Et ma requete pour le remplissage du GridView (sur une table Access)

    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
    Sub AfficheLundi()
            'connection a la base de données
            Using connexion As OleDbConnection = Me.DBConn
                Dim DBCommand As OleDbCommand
                'Objet Dataset
                Dim DSPageData As New DataSet
                'connection a la base de données
                DBCommand = New OleDbCommand("Select * From planning_type Where LeJour= ?", DBConn)
                'objet DataAdapter
                Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
                DBCommand.Parameters.AddWithValue("LeJour", "lundi")
                myOleDbDataAdapter.SelectCommand.Parameters("LeJour").Value = "lundi"
                myOleDbDataAdapter.Fill(DSPageData, "VoirLundi")
                GdvLundi.Visible = True
                GdvLundi.DataSource = _
                DSPageData.Tables("VoirLundi").DefaultView
                GdvLundi.DataBind()
            End Using
    L'affichage donne 4 lignes avec dans la premiere colonne (Employe) :

    Employé 1, Employé 2, Employé 3 et Employé 4

    et dans les colonnes 8 à 23 une valeur 0 ou 1

    Pour chaque employé je veux changer le couleur de chaque cellule si valeur est 1

    Et sur la colonne TOTAL afficher la somme des valeurs 1

    J'ai fait ce 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
    Sub GdvLundi_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
            If e.Row.RowState = DataControlRowState.Edit Then
                Dim rowView As DataRowView = CType(e.Row.DataItem, DataRowView)
                Dim Lemploye As String = rowView("Employe").ToString()
                Select Case "Lemploye"
                    Case "Employé 1"
                        Session("Total_emp1") = 0
                        Dim Lheure As String = GdvLundi.Rows(0).Cells(0).Text
                        Dim I As Integer
                        For I = 1 To GdvLundi.rowcount
                            If GdvLundi.Rows(1).Cells(I).Text = "1" Then
                                Session("Total_emp1") = Session("Total_emp1") + 1
                                e.Row.Cells(I).BackColor = Drawing.Color.Red
                                e.Row.Cells(I).Text = ""
                            Else
                                e.Row.Cells(3).Text = ""
                            End If
                        Next
                    Case "Employé 2"
     
                    Case "Employé 3"
     
                    Case "Employé 4"
                End Select
     
            End If
        End Sub
    Mais le rowcount de GdvLundi.rowcount n'est pas accepté

    Je ne vois pas comment régler ce problème

  4. #4
    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 : 41
    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
    Citation Envoyé par Vanessa48 Voir le message
    Mais le rowcount de GdvLundi.rowcount n'est pas accepté
    Peux-tu être plus précise ?

    Sinon, remplace GdvLundi.rowcount par GdvLundi.Rows.Count

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    J'ai remplacée GdvLundi.rowcount par GdvLundi.Rows.Count

    quand je test l'appli avec le debogage

    la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If e.Row.RowState = DataControlRowState.Edit Then
    end if
    est pas prise par le code cela va directement sur End if

    J'ai essayée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If e.Row.RowState = DataControlRowState.Normal Then
    Meme résultat

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Dans le onrowdatabound
    Comment je peux connaitre la valeur de la row(1) et de la cellule(3)
    Et comment faire une boucle sur row
    Merci pour vos réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplissage d'un DatagridView très lent
    Par PSA78 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 20/10/2010, 10h16
  2. Remplissage d'un datagridView avec un DataSet
    Par Hyoga95 dans le forum C#
    Réponses: 17
    Dernier message: 01/04/2010, 16h28
  3. remplissage d'un datagridview
    Par Toofek dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 06/05/2008, 22h53
  4. Remplissage d'un datagridview
    Par olibara dans le forum C#
    Réponses: 4
    Dernier message: 18/03/2008, 07h05
  5. Problème de remplissage d'un datagridview VB 2005
    Par Bam513 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/05/2006, 16h00

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