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

VB.NET Discussion :

Affichage spécial en datagridview


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 41
    Points : 53
    Points
    53
    Par défaut Affichage spécial en datagridview
    Bonjour les développeurs VB.NET
    je veut faire une chose comme ça avec mon datagridview

    (mon datagridview affiche un table a partir d'une BD oracle)
    Nom : Sans titre.jpg
Affichages : 427
Taille : 52,0 Ko

  2. #2
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Alors oui le DataGridView peut faire ce que tu attend.
    mais oublie tout de suite l'idée de simplicité.

    tu devra dessiner des zones dynamiques dans chaque cellule (ce qui permettra de mettre plusieurs control dans 1 cellule)
    autant te dire que c'est galère et pas qu'un peux

    je te conseillerai plutôt de t'intéresser à la techno WPF qui permet plus de chose que le Winform

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 41
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par ranzoken Voir le message
    Alors oui le DataGridView peut faire ce que tu attend.
    mais oublie tout de suite l'idée de simplicité.

    tu devra dessiner des zones dynamiques dans chaque cellule (ce qui permettra de mettre plusieurs control dans 1 cellule)
    autant te dire que c'est galère et pas qu'un peux

    je te conseillerai plutôt de t'intéresser à la techno WPF qui permet plus de chose que le Winform
    je ne cherche pas la simplicité je veut le faire c'est tout.
    Est ce que tu peux m'éclairer un peut

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    En restant simple :

    1) Tu utilises une requete paramétrée pour remplir un Dataset avec les données de ta table
    2) tu lies le Dataset à ton DatagridView grâce au DataBinding

    C'est simple et il faut savoir faire ça.

    http://plasserre.developpez.com/cour...nnees2#LXVII-E
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  5. #5
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Parce que vous avez réussi à comprendre quel était précisément le problème avec le peu d'informations reçues vous ?
    Kropernic

  6. #6
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    On est bien d'accord, il n'a pas de problème, je lui donne donc une piste
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  7. #7
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Personnellement, ce que j'ai compris c'est qu'il veut un BEAU DGV
    les données en elle même je ne pense pas qu'il y ai un problème de ce coté la.

  8. #8
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Tout à fait. Après relecture, c'est moins clair
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 41
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par mactwist69 Voir le message
    Tout à fait. Après relecture, c'est moins clair

    J'ai un tableau dans la base de donnée qui contient les nom et prénom des condidats avec un clé primaire cin et un clé étrangère qui vaut null si le condidat est un tete de liste et vaut le cin de tete de liste si le condidat est un membre de liste de ce tete de liste ayant cette cin

    je veut afficher dans le datagridview le tete de liste à gauche en haut et les memebre à droite un peut plus bas (tout comme la photo )

    et merci

    j'éspère que ce mieux clair maintenant

  10. #10
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ce que tu recherches, me semble découler de ce que les experts en gestion de données appellent en franglais un affichage de type Master/Detail.

    Tu peux jeter un œil sur cet exemple microsoftien:

    https://code.msdn.microsoft.com/Basi...ating-aa1a5c3d
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 42
    Points
    42
    Par défaut datagridview
    Bonjour,
    Pour afficher dans une même cellule ou une même ligne d'un datagridview des données qui découlent d'une première donnée. Il vous faut, dans votre cas, imbriquer 2 datagridviews. Pour ceci, créer le datagridview principal de manière classique puis créer un colonne "templatefield" dans laquelle vous placez votre datagridview enfant en le paramétrant de manière classique.
    Dans l'evenement "RowDataBound" du datagridview principal, vous placez les paramètres de remplissage du datagridview enfant.

    voici une partie du code pour vous guider :
    dans le datagridview :
    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
     
                <asp:TemplateField HeaderText="Prise en charge">
                 <ItemTemplate>
                     <asp:GridView ID="gvIntervenants" ShowHeader="false" runat="server" DataSourceID="" 
            AutoGenerateColumns="False" >
                         <Columns>
                             <asp:TemplateField >
                                 <ItemTemplate>
                                     <asp:Label ID="lblIntervenants" runat="server" Text='<%# Bind("Nom_Prenom_Personne") %>' ></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                         </Columns>
                     </asp:GridView>
                 </ItemTemplate>
                <asp:TemplateField>
                    <ItemTemplate>
                    <asp:HiddenField ID="hfSuivi" runat="server" Value='<%# Bind("N_Demande_Intervention") %>'/>
                    </ItemTemplate>
                </asp:TemplateField>
    dans l'evenement rowdatabound
    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
     
    Private Sub gvDemandes_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvDemandes.RowDataBound
            Dim row As GridViewRow = e.Row 'recuperer la ligne en cour de création
            Dim hf As HiddenField
      Dim gv As GridView
    ' le control contenant la clef de la requete enfant se nomme "hfsuivi"
    ' le datagridview enfant se nom "gvintervenants"
     
          Select Case e.Row.RowType
                Case DataControlRowType.DataRow
     
     
                    hf = e.Row.FindControl("hfSuivi") 'récupérer le controle de la ligne en cours de création
     
     
                    gv = CType(e.Row.FindControl("gvIntervenants"), GridView) 'récupérer le gridview enfant de la ligne
                    gv.DataSourceID = Nothing
     
                  gv.DataSource = DataSources.Instance.RechercheIntervenantsDataSource(hf.Value) 'le contenu source utilise une fonction qui a comme paramètre la clef de la requête
                    gv.DataBind()
     
     
     
            End Select
        End Sub


    Bonne journée

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2015
    Messages : 41
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par m_brun Voir le message
    Bonjour,
    Pour afficher dans une même cellule ou une même ligne d'un datagridview des données qui découlent d'une première donnée. Il vous faut, dans votre cas, imbriquer 2 datagridviews. Pour ceci, créer le datagridview principal de manière classique puis créer un colonne "templatefield" dans laquelle vous placez votre datagridview enfant en le paramétrant de manière classique.
    Dans l'evenement "RowDataBound" du datagridview principal, vous placez les paramètres de remplissage du datagridview enfant.

    voici une partie du code pour vous guider :
    dans le datagridview :
    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
     
                <asp:TemplateField HeaderText="Prise en charge">
                 <ItemTemplate>
                     <asp:GridView ID="gvIntervenants" ShowHeader="false" runat="server" DataSourceID="" 
            AutoGenerateColumns="False" >
                         <Columns>
                             <asp:TemplateField >
                                 <ItemTemplate>
                                     <asp:Label ID="lblIntervenants" runat="server" Text='<%# Bind("Nom_Prenom_Personne") %>' ></asp:Label>
                                 </ItemTemplate>
                             </asp:TemplateField>
                         </Columns>
                     </asp:GridView>
                 </ItemTemplate>
                <asp:TemplateField>
                    <ItemTemplate>
                    <asp:HiddenField ID="hfSuivi" runat="server" Value='<%# Bind("N_Demande_Intervention") %>'/>
                    </ItemTemplate>
                </asp:TemplateField>
    dans l'evenement rowdatabound
    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
     
    Private Sub gvDemandes_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvDemandes.RowDataBound
            Dim row As GridViewRow = e.Row 'recuperer la ligne en cour de création
            Dim hf As HiddenField
      Dim gv As GridView
    ' le control contenant la clef de la requete enfant se nomme "hfsuivi"
    ' le datagridview enfant se nom "gvintervenants"
     
          Select Case e.Row.RowType
                Case DataControlRowType.DataRow
     
     
                    hf = e.Row.FindControl("hfSuivi") 'récupérer le controle de la ligne en cours de création
     
     
                    gv = CType(e.Row.FindControl("gvIntervenants"), GridView) 'récupérer le gridview enfant de la ligne
                    gv.DataSourceID = Nothing
     
                  gv.DataSource = DataSources.Instance.RechercheIntervenantsDataSource(hf.Value) 'le contenu source utilise une fonction qui a comme paramètre la clef de la requête
                    gv.DataBind()
     
     
     
            End Select
        End Sub


    Bonne journée
    le problème que je n'arrive pas à imbriqué ce 2 datagridview et à propos de premier mourceau de code il faut que j'utilise que la langage VB.NET pas ASP
    et merci

  13. #13
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2015
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2015
    Messages : 52
    Points : 54
    Points
    54
    Par défaut Datagridview
    En 1er lieu,à moins de ne me tromper, il te faudrait savoir comment connecter ta base à ton datagridview.Moi,personnellement,j'utilise mysql workbrench comme base de donnée pour les programmes (en général,sauf pour les entreprises).
    Sinon,tu as la possibilité (si ce n'est pas déjà fait) de créer simplement trois cellules dans ta table (une pour l'id,une pour la civilité et l'autre pour le nom et prénom).Tu n'auras tout simplement qu'à les lier à ton datagridview afin d'obtenir ce que tu recherches.
    Une autre option que je pourrais te proposer serait de procéder par imbrication des datagriview.En d'autres termes,ton 1er gridview contiendrait le nom de tête de liste qui sera lié au 2e gridview qui quant à lui contiendrais le nom des membres de la tête de liste. Pour cela,voici un lien pour te documenter un peu là-dessus: ne t'inquiète pas pour l'ASP, il faut juste que tu comprennes le fonctionnement du processus.tu pourras ainsi réaliser cela dans ta programmation.
    https://msdn.microsoft.com/fr-fr/lib...v=vs.100).aspx

Discussions similaires

  1. petit problème d'affichage sur un datagridview
    Par boss_gama dans le forum C#
    Réponses: 5
    Dernier message: 01/05/2007, 21h42
  2. [C# 2.0] Mettre à jour l'affichage d'une dataGridView
    Par nicolas.pied dans le forum Accès aux données
    Réponses: 4
    Dernier message: 31/01/2007, 14h36
  3. Probleme d'affichage avec un DataGridView
    Par kekesilo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/01/2007, 14h12
  4. Composant text pour un affichage spéciale
    Par zwejdi dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/01/2007, 17h47
  5. Réponses: 2
    Dernier message: 30/10/2006, 22h14

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