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 :

Remplir datagrid et toolbox


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Par défaut Remplir datagrid et toolbox
    Bonjour à tous,

    j'aimerai ajouter un datagrid dans visual studio mais je ne le retrouve pas dans la toolbox, est-ce normal?
    Que dois-je faire pour l'avoir?

    Dans le XAML, j'ai ajouté ça mais ça ne marche pas mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit"
    Je dois reconnaitre qu'en parcourant internet on voit x choses et que lorsque l'on débute, on ne sait pas "où aller".

    Je voudrai simplement récupérer des données de ma base de données et les mettre dans un datagrid avec des images en plus (qui seront les mêmes sur toutes les lignes et qui ne sont donc pas dans ma base de données).

    Je vois souvent datagrid.itemSource mais je n'ai pas cette propriété...

    J'ai réussi à récupérer les données en les mettant dans une listbox (avec dataset, adapter et dataview) mais je les voudrai dans une datagrid pour que l'utilisateur puisse sélectionner une ligne et cliquer sur une image de cette ligne.

    Merci pour votre aide et bonne journée.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 151
    Par défaut
    Bonjour,

    Tu peux utiliser un DataGridView sous VB.Net (dans la partie Données de la Boite à outils). DataGrid était un élément de VB6 depreciated maintenant (sauf erreur de ma part).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim myData As New DataTable
    Dim myCommand As New SqlCommand
    Dim myAdapter As New SqlDataAdapter
    Dim myMiniConnection2 As 'MODIF ta connexion SQL
    myMiniConnection2.Open()
    myCommand.Connection = myMiniConnection2
    myCommand.CommandText = "SELECT * FROM maTable"
    myAdapter.SelectCommand = myData.Clear()
    myAdapter.Fill(myData)
    monDataGridView.DataSource = myData
    celà te permet déjà de remplir ta table comme sur le DataGrid de VB6.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Par défaut
    OK merci pour ta réponse.
    Mais est-ce qu'avec un DataGridView on peut ajouter des colonnes image et est-ce qu'on peut ensuite récupérer la ligne/cellule sur laquelle on clique?
    (ou alors est-ce juste du visuel?)
    Merci.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2010
    Messages : 151
    Par défaut
    Citation Envoyé par ptitsoleil87 Voir le message
    OK merci pour ta réponse.
    Mais est-ce qu'avec un DataGridView on peut ajouter des colonnes image et est-ce qu'on peut ensuite récupérer la ligne/cellule sur laquelle on clique?
    (ou alors est-ce juste du visuel?)
    Merci.
    Pour la colonne image, je ne sais pas, mais pour récupérer ligne/cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgv.CellClick
    'Numero de colonne
    MsgBox(e.ColumnIndex)
    'Numero de ligne
    MsgBox(e.RowIndex)
    'Contenu de la case cliquée
    MsgBox(dgv(e.ColumnIndex, e.RowIndex).Value)
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 89
    Par défaut
    Bonjour à tous,

    il y a beaucoup de choses que je ne comprend pas.
    En XAML, j'ai écrit ça :
    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
     
    <my:DataGrid AutoGenerateColumns="False" Canvas.Left="40" Canvas.Top="200" Height="300" Width="300" Name="DataGrid1" ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Nom" AlternatingRowBackground="Beige" CurrentCellChanged="cellChangeClick">
      <my:DataGrid.Columns>
        <my:DataGridTextColumn Header="ID" Width="*" Binding="{Binding Path=IDTypeArticle}" Visibility="Collapsed"/>
        <my:DataGridTextColumn Header="Libellé" Width="2*" Binding="{Binding Path=Nom}" SortMemberPath="Nom" SortDirection="Ascending" />
        <my:DataGridTemplateColumn Header="Modifier" Width="0.8*">
          <my:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
              <Button Name="btnModifier" Height="20">
                <Image Name="imgModifier">
                  <Image.Source>
                    ..\check.ico
                  </Image.Source>
                </Image>                                   
              </Button>
            </DataTemplate>
          </my:DataGridTemplateColumn.CellTemplate>
        </my:DataGridTemplateColumn>
        <my:DataGridTemplateColumn Header="Supprimer" Width="0.8*">
          <my:DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
              <Button Name="btnSupprimer" Height="20">
                <Image Name="imgSupprimer">
                  <Image.Source>
                    ..\check.ico
                  </Image.Source>
                </Image>
              </Button>
            </DataTemplate>
         </my:DataGridTemplateColumn.CellTemplate>
        </my:DataGridTemplateColumn>
      </my:DataGrid.Columns>
    </my:DataGrid>
    Dans le behin, j'ai écrit ça dans le loaded :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
            Dim dt As DataTable
            Dim dataSet As New DataSet()
            Dim adapter As New OleDbDataAdapter()
            adapter.SelectCommand = New OleDbCommand("SELECT * FROM Type;", conn)
            adapter.Fill(dataSet, "Type")
            dt = dataSet.Tables("Type")
     
            Me.DataGrid1.DataContext = Nothing
            Me.DataGrid1.DataContext = dt
    Ensuite, j'ai voulu récupérer la cellule sur laquelle on clique dans le datagrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Private Sub cellChangeClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
    Me.DataGrid1.CurrentCell.Column.DisplayIndex
    Mon soucis est que je n'arrive pas à récupérer la ligne, je n'ai que la colonne?
    Je ne retrouve pas RowIndex ou RowNumber ou autre, pourquoi et comment faire?
    D'autre part, je vois souvent pour remplir le datagrid :
    Me.DataGrid1.DataSource mais je ne l'ai pas non plus, j'ai juste DataContext...
    Pourquoi? Ou est-ce que j'ai faux?

    Merci à tous pour votre aide.

Discussions similaires

  1. Remplir datagrid avec jour du mois
    Par koutbino dans le forum Flex
    Réponses: 2
    Dernier message: 03/03/2010, 11h42
  2. Remplir datagrid depuis sql server
    Par ndiayebass dans le forum C#
    Réponses: 1
    Dernier message: 30/04/2008, 09h49
  3. Remplir datagride avec requete
    Par matrixdine dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/02/2008, 15h30
  4. remplir datagrid à partir de fichier xml
    Par wajdiisi2007 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 10/08/2007, 12h27
  5. remplir datagrid view
    Par Youssef dans le forum Accès aux données
    Réponses: 4
    Dernier message: 02/04/2007, 16h22

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