none
Copier les Résultats d'un filtre d'une DataGridView1 dans une autre DataGridView2 RRS feed

  • Question

  • Bonjour tout le monde, voilà j'aurai besoin d'un code qui Copier les Résultats d'un filtre d'une DataGridView1 dans une autre DataGridView2
    mais le problème mon code est copier toutes les enregistrements !! mais moi je voudrai copier les résultats uniquement
    voici les images avec mon code source d'enregistrement :


    Image 1 : 
    2 DataGridView  est 2 Table : Table1 et Temp chaqune une base de donnés


     
    Image 2 :
    Table1 avec les enregistrements et la table : Temp VIDE

    après le filtre par CODE ! j'ai copier les résultats !! mais touts la table sera copier !!

     

     

     Dim row As La_baseDataSet.Table1Row
            row = CType(CType(Me.Table1BindingSource.Current, DataRowView).Row, La_baseDataSet.Table1Row)
            For Each row In La_baseDataSet.Table1
                Dim newRow As base_TEMPDataSet.TempRow = Me.Base_TEMPDataSet.Temp.NewRow()
                newRow._N_ = row._N_
                newRow.nom = row.nom
                newRow.prenom = row.prenom
                newRow.code = row.code
                Me.Base_TEMPDataSet.Temp.Rows.Add(newRow)
            Next
    

    et merci :-)

     



    • Modifié HappySaid vendredi 20 janvier 2012 13:20
    vendredi 20 janvier 2012 13:15

Réponses

  • Bonjour,

    Une solution consisterait en la modification de votre code de la façon suivant :

     

    Dim row As La_baseDataSet.Table1Row
            row = CType(CType(Me.Table1BindingSource.Current, DataRowView).Row, La_baseDataSet.Table1Row)
            For Each row In La_baseDataSet.Table1
               IF(String.IsNullOrEmpty(Me.FiltreTextBox.text) or row.code.ToString() = Me.FiltreTextBox.text) Then
                   Dim newRow As base_TEMPDataSet.TempRow = Me.Base_TEMPDataSet.Temp.NewRow()
                   newRow._N_ = row._N_
                   newRow.nom = row.nom
                   newRow.prenom = row.prenom
                   newRow.code = row.code
                   Me.Base_TEMPDataSet.Temp.Rows.Add(newRow)
                End If
            Next

     

     

    Le code que je vous propose suppose que votre textbox de filtre s'appelle FiltreTextBox.

     

    Cordialement.


    vendredi 20 janvier 2012 14:41
    Auteur de réponse

Toutes les réponses

  • Bonjour,

    Une solution consisterait en la modification de votre code de la façon suivant :

     

    Dim row As La_baseDataSet.Table1Row
            row = CType(CType(Me.Table1BindingSource.Current, DataRowView).Row, La_baseDataSet.Table1Row)
            For Each row In La_baseDataSet.Table1
               IF(String.IsNullOrEmpty(Me.FiltreTextBox.text) or row.code.ToString() = Me.FiltreTextBox.text) Then
                   Dim newRow As base_TEMPDataSet.TempRow = Me.Base_TEMPDataSet.Temp.NewRow()
                   newRow._N_ = row._N_
                   newRow.nom = row.nom
                   newRow.prenom = row.prenom
                   newRow.code = row.code
                   Me.Base_TEMPDataSet.Temp.Rows.Add(newRow)
                End If
            Next

     

     

    Le code que je vous propose suppose que votre textbox de filtre s'appelle FiltreTextBox.

     

    Cordialement.


    vendredi 20 janvier 2012 14:41
    Auteur de réponse
  • oui ça marche trés bien merci MOURAD مراد
    vendredi 20 janvier 2012 19:40