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

Windows Forms Discussion :

[VB.NET] Remplir un DataGrid manuellement ?


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Points : 165
    Points
    165
    Par défaut [VB.NET] Remplir un DataGrid manuellement ?
    Bonjour,

    Je voudrai savoir s'il est possible en dotnet de faire comme sous VB6, à savoir remplir manuellement les données d'une datagrid ?

    Je m'explique : faire une boucle qui remplit les lignes et une boucle imbriquée qui remplit les colonnes.

    J'avoue que je suis bien perdu avec dotnet, sous VB6 je définissais la taille de tel ou tel colonne de mon datagrid et là j'ai même pas réussis à faire ça.

    Si quelqu'un pouvait m'aider, merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 92
    Points : 114
    Points
    114
    Par défaut
    Comme son nom l'indique, un DataGrid est un composant lié à des données...
    Ce que tu peux faire c'est le lier à un DataTable rempli à la main par exemple. Mais via une boucle je ne pense pas.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Points : 165
    Points
    165
    Par défaut
    ok d'accord, je vais essayer avec une datatable.

    Et concernant la manipulation des propriétés tel que :
    - la taille des colonnes
    - tel ou tel colonne visible ou non
    etc...

    je dois passer par quelle propriété pour les modifier ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 92
    Points : 114
    Points
    114
    Par défaut
    Tu as les tableStyles et CellStyles pour gérer les propriétés

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Points : 165
    Points
    165
    Par défaut
    ok merci bien

    je vais essayer tout ça et je vous dis dans la foulée ce qu'il en est

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 30
    Points : 31
    Points
    31
    Par défaut
    oui tu peux intervenir manuellement sur un Datagrid . Mais seulement après lui avoir associé une table.

    si la ligne 5 , colonne 7 de ton datagrid existe alors seulement tu peux intervenir dessus par la propriété Item.

    exp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monDataGrid.Item(5,7)="ce que tu veux"

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 11
    Points : 9
    Points
    9

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Points : 165
    Points
    165
    Par défaut
    Alors bon j'ai pas trop réussi avec le datatable mais je me suis basé sur un exemple que j'ai trouvé sur le net pour l'adapter à mon code :

    Dim objDataSet As New DataSet
    Dim objDataAdapter As New OleDb.OleDbDataAdapter("Select * From MaTable", Cnx)

    objDataAdapter.Fill(objDataSet, "MaTable")
    With DataGrid
    .DataSource = objDataSet
    .DataMember = "MaTable"
    End With
    1/ Bon il remplit bien mon datagrid comme il le faut, mais est ce la bonne solution que d'utiliser un dataset et un dataadapter pour mon cas ?

    2/ Une fois que j'ai ça je voudrai après mon "end with" dire que ma colonne(1).width = 5000 par exemple et là je suis toujours bloqué :'

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    231
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 231
    Points : 165
    Points
    165
    Par défaut
    saje > merci, j'avais pas vu ton post, je vais essayer cela aussi

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Points : 5
    Points
    5
    Par défaut Remplissage "à la main"
    Il faut effectivement utiliser une datatable dans un dataset
    Il faut créer la datatable, creer et ajouter des colonnes, ajouter le datatable au dataset et enfin lier le datagrid au dataset.
    Pour créer une DataTable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MyData As New DataTable("Alarms")
    Ajouter les colonnes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim MyCol As DataColumn
    'Pour Chaque colonnes
    MyCol = New DataColumn
            With MyCol
                .ColumnName = "Date"
                .Caption = "Date"
                .DataType = System.Type.GetType("System.DateTime")
                .AutoIncrement = False
                .ReadOnly = False
                .Unique = False
            End With
    ' Ajouter la colonne à la table
            MyData.Columns.Add(MyCol)
    Ajout des lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim MyDataRow As DataRow
    'Pour chaque ligne
    MyDataRow = MyData.NewRow
    'pour chaque champ
    MyDataRow.Item("Date") = rdDate
    'Après les champs
    MyData.Rows.Add(MyDataRow)
    Après toutes les lignes
    MyData.AcceptChanges()
    Il faut ensuite ajouter la datatable au dataset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim dsAlarms As New DataSet("dsAlarms")
    dsAlarms.Tables.Add(MyData)
    Et enfin lier le datadrig au dataset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dgAlarms.SetDataBinding(dsAlarms, "Alarms")

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/03/2008, 13h09
  2. [ASP.Net] Remplir un DataGrid
    Par pinson dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 10/02/2007, 10h46
  3. Réponses: 9
    Dernier message: 16/08/2006, 09h12
  4. [VB.NET]Comment remplir un DataGrid ?
    Par malhivertman1 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 03/08/2006, 16h10
  5. Remplire un DataGrid[vb.net]
    Par charaf dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/04/2006, 21h26

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