Deux gridview [Résolu]

psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention - 15 juil. 2016 à 20:23 - Dernière réponse : psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention
- 18 juil. 2016 à 18:45
Bonjour,
je travaille avec un gridview sur un formulaire Windows et je souhaite que la ligne sélectionnée sur ce dernier soit sélectionnée sur un autre gridview dans un autre formulaire
les deux grid affichent les données de la mêmes tables
Merci
Afficher la suite 

8 réponses

Répondre au sujet
cs_Le Pivert 4767 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 16 juil. 2016 à 08:59
+1
Utile
3
Bonjour,

Voir ceci :

http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms5#LVIII-Q-2

Voici un exemple avec un Form1 et un Form2.

Allez dans Projet dans le menu et ajouter un Module, mettre dans ce module:

Module Module1
    Public ligne As Integer
End Module


Dans le code du Form1 avec un Datagridview nommé :

DataGridView1 mettre ce code:

Private Sub DataGridView1_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
        Dim y As Integer = DataGridView1.CurrentCellAddress.Y
        ligne = y
        Form2.Show()
        Form2.DataGridView1.Rows(ligne).Selected = True
    End Sub


il est entendu que le Datagridview se nomme: DataGridView1 dans le Form2 également.

Sinon à adapter

Pour plus de renseignements voir le lien

Voilà
Cette réponse vous a-t-elle aidé ?  
Whismeril 10530 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 14 décembre 2017 Dernière intervention - 16 juil. 2016 à 09:09
Bonjour, il parle de Window et de Gridview, il travaille peut être en wpf, la syntaxe sera alors sensiblement différente.
psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention - 16 juil. 2016 à 17:46
Bonjour;
je vous remercie pour vos réponses j'ai fait un sub change
sub change
ligne = y
Form2.Show()
Form2.DataGridView1.Rows(ligne).Selected = True
end sub
et je l'appel appartir des boutons de déplacement et ça marche qui figure dans le form2 mais réagissent sur le grid du form1

je ne peut pas le faire au moment des Evénements DataGridView1_CellContentClick ou DataGridView1_selectionchanged

car çà marche pas


maintenant mon seule problème et comment afficher les mêmes contenus dans les deux datagrid au moment du load du form2 ?l es deux grid affichent le même dataset mais si je fait une recherche et je l'affiche dans le grid du form1 comment faire pour afficher le même contenue dans le grid du form2 ?? Merci d'avance
psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention - 16 juil. 2016 à 18:05
je viens d'essayais form1.datagridview=form2.datagridview est je vois que ca marché mais le bouton de déplacement "précédent" affiche une erreur

voici le code si vous pouvez me corriger

Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click
Try

Dim prevRowNum As Integer = (photos1.MetroGrid1.Rows.Count 0)

Dim curDataGridViewRow As DataGridViewRow = photos1.MetroGrid1.CurrentRow

Dim curRowNum As Integer = curDataGridViewRow.Index

If (curRowNum >= prevRowNum) Then

MsgBox("No more rows")

Else

Dim nextRow As DataGridViewRow = photos1.MetroGrid1.Rows(curRowNum - 1)

photos1.MetroGrid1.CurrentCell = nextRow.Cells(0)

nextRow.Selected = True

charng()

End If


Me.StartPosition = FormStartPosition.CenterParent


PictureBox1.Location = New Point((Screen.PrimaryScreen.WorkingArea.Width - PictureBox1.Width) / 2, (Screen.PrimaryScreen.WorkingArea.Height - PictureBox1.Height) / 2)
Me.WindowState = FormWindowState.Maximized

Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub




je crois que le problème figure dans cette ligne

pour définir la 1er ligne du grid et puis vérifier s il nya plus de ligne en haut

Dim prevRowNum As Integer = (photos1.MetroGrid1.Rows.Count 0)
Commenter la réponse de cs_Le Pivert
cs_Le Pivert 4767 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 décembre 2017 Dernière intervention - 16 juil. 2016 à 18:18
+1
Utile
Ce code n'a rien avoir avec les données transférées d'un DataGridView à un autre!

Voici le code qui fonctionne à l'ouverture du Form2 pour transférer les données:

Public Class Form2
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim targetGrid As DataGridView = Me.DataGridView1

        'Copy all rows and cells.

        Dim targetRows = New List(Of DataGridViewRow)

        For Each sourceRow As DataGridViewRow In Form1.DataGridView1.Rows

            If (Not sourceRow.IsNewRow) Then

                Dim targetRow = CType(sourceRow.Clone(), DataGridViewRow)

                'The Clone method do not copy the cell values so we must do this manually.
                'See: https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow.clone(v=vs.110).aspx

                For Each cell As DataGridViewCell In sourceRow.Cells
                    targetRow.Cells(cell.ColumnIndex).Value = cell.Value
                Next

                targetRows.Add(targetRow)

            End If

        Next

        'Clear target columns and then clone all source columns.

        targetGrid.Columns.Clear()

        For Each column As DataGridViewColumn In Form1.DataGridView1.Columns
            targetGrid.Columns.Add(CType(column.Clone(), DataGridViewColumn))
        Next

        'It's recommended to use the AddRange method (if available)
        'when adding multiple items to a collection.

        targetGrid.Rows.AddRange(targetRows.ToArray())
        Me.DataGridView1.MultiSelect = False
    End Sub
End Class

Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Le Pivert
psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention - 18 juil. 2016 à 16:51
0
Utile
2
bonjour,

Je vous remercie cs_Le Pivert pour les réponses ça marché çà été vraiment utile
vb95 1386 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - 18 juil. 2016 à 18:13
bonjour
Pense à mettre ce sujet en Résolu
Merci
psofie 8 Messages postés vendredi 15 juillet 2016Date d'inscription 15 août 2016 Dernière intervention - 18 juil. 2016 à 18:45
vb95

c fait
Commenter la réponse de psofie

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.