begin process at 2008 09 05 20:52:42
1 237 501 membres
441 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TRANSFERER UN DATAROW D'UN FENETRE À UNE AUTRE


Information sur la source

Catégorie :Trucs & Astuces Source .NET ( DotNet ) Classé sous : datarow, fenetre, transfert Niveau : Débutant Date de création : 09/07/2007 Date de mise à jour : 28/07/2007 11:46:38 Vu / téléchargé: 5 106 / 381

Note :
Aucune note

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Bonjour

Je suis sur un casse tete, je cherche à recuperer les données d'un datarow qui provient d'une autre fentre ou d'un Control utilisateur.
Mais cette action marche plus d'un projet à l'autre.
J'avais déja utiliser cette action de transfert de datarow dans une autre appli qui marcher tres bien, et aujourd'hui rien ne veut marcher.

Vous aller me dire pour quoi ne poses tu pas ta question sur le forum, bien je ne peux pas mettre mon projet sur le forum et j'espère trouvé une solution et proposer un exemple plus concret.

A+

Conclusion

Avant je ne me servais jamais de passer un datarow d'une fenetre a l'autre.
J'aurrai betement ou simplement passer ID et refait faire une boucle de ma table dans la fenetre final.
mais je trouve que cela prend du temps pour rien, c'est pour cela que j'aimerais arrivée a recup mon datarow et l'afficher dans le dataset de ma fenetre final.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

09 juillet 2007 09:54:24 :
Modification de l'annotation final
14 juillet 2007 21:17:01 :
Problème résolu, transfert d'un datarow d'une fenêtre à une autre.
28 juillet 2007 11:46:38 :
Transfert avec plusieurs fenêtres ouvertes.
  • signaler à un administrateur
    Commentaire de romagny13 le 09/07/2007 11:22:17

    Bon j'ai regardé ton code oulala que c'est mal programmé

    bon voila un debut de tuyau qui marche mais l'organisation de l'appli est vraiment male fichue

    en plus il faut afficher ta clé primaire dans le datagridview (enfin lol il me semble) ou au moins avoir un moyen de recuperer car comment veux tu modifier une ligne de ta table si tu ne peux meme pas recuperer cette ligne


    Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click, DataGridViewArticle.DoubleClick
            If NumRiag = 0 Then 'Verifi si une ligne a ete selectionner
            Else
                Select Case Action
                    Case "ModifierRefRiag"
                        'row = DataSet.Tables("Table_Article").Rows.Item(NumDataSetRiag)

                        ''renvoi la ligne selectionner par un datarow "row" dans la fenetre GestionArticleModifier

                        Dim nID_Article As Integer = CInt(DataGridViewArticle.CurrentRow.Cells("Id_Article").Value)
                        Dim oDataRow As DataRow = DataSet.Table_Article.FindById_Article(nID_Article)
                        GestionArticleModifier.Recup_listeArticle(oDataRow)

                End Select
                Me.Close()
            End If
        End Sub



    et pour afficher ici je n'affiche qu'un element mais pour le reste c'est la même chose

    Sub Recup_listeArticle(ByVal row As DataSet.Table_ArticleRow)
            Me.DataSet.Table_Article.Clear()
            Me.DataSet.Table_Article.ImportRow(row)
            '!!!!!! Problème les données du DataRow "row" ne s'affiche pas à l'ecran.
            ' Comment afficher a l'ecran les données de mon row ?????

            Designation_ArticleTextBox.Text = row("Designation_Article").ToString()


        End Sub

    un dernier conseil peut etre essayer d'utiliser les events
    mais face une appli aussi simple/petite, mais aussi male fichue je ne sais plus lol

  • signaler à un administrateur
    Commentaire de romagny13 le 09/07/2007 13:29:21

    j'avais meme pas testé jusqu'au bout mais il y a des grosses erreurs
    tes controls sont liés à une source de données il ne faut surtout pas !! sinon jamais tu ne pourras afficher quelque chose dedans lorsqu'ils sont liés
    - ensuite il faut utiliser les events, tu abonnes chaque childform que tu crées depuis Mainform
    - il faut que ce soit la mainform qui controle l'affichage et non les fenetres filles

    tu peux regarder une source que j'avais posté il y a assez loongtemps mais te montrera comment utiliser les events en vb
    http://www.vbfrance.com/codes/DEBUT-APPLICATION-GESTION-COMMERCIALE-TOUT-MODE-DECONNECTE-COUCHE_39683.aspx

    voila cette fois je ne peux pas plus pour toi sinon reecrire l'appli (a la rigueur te l'envoyer par email vu que c'est assez rapide)

  • signaler à un administrateur
    Commentaire de ManuAntibes le 10/07/2007 07:16:32

    Salut

    Merci pour toutes ces explications.
    En effet mon appli que j'ai mis sur le site est vraiment simple, c'est pour l'exemple que j'ai mis un truc simple.

    Par contre si tu es d'accord je veux bien t'envoyer mon appli par mail, comme cela tu pourras voir l'ensemble.
    Un truc bizarre c'est que sur mon appli, j'utilise 2 fois cette manip de passé un Datarow d'une fenetre à l'autre.
    1 fois ça marche et la 2ème fois avec exactement le meme code ça ne marche pas !!!!!!
    Hier soir j'ai tchaté sur Msn avec ThoT49 (http://www.vbfrance.com/auteurdetail.aspx?ID=997133), et lui aussi ne comprend pas pourquoi ça marche sur 1 et 2 pages, et apres dans le projet ça ne marche plus.
    J'aimerais vraiement comprendre le truc ?????

  • signaler à un administrateur
    Commentaire de ManuAntibes le 10/07/2007 11:55:24

    Salut Romagny

    Voici mon email ecrie moi, et je te renverais l'appli si tu veux regarder.
    A+

  • signaler à un administrateur
    Commentaire de romagny13 le 10/07/2007 13:49:41

    Salut, je t'envoie ca des que j'ai l'addresse email
    sinon il existe encore une autre methode (qu'avait demontré Mitzu Furuta dans un Webcast)
    en passant carrement le datacontext (il faudrait que je retrouve l'url du webcast), ce qui permet de faire du binding et entre les deux forms les deux etant synchronisées

    bon si cette méthode est jolie en demonstration franchement jamais je l'utiliserais "en vrai" mais c'est bon a savoir

    si je retrouve le lien je te le mets

  • signaler à un administrateur
    Commentaire de ManuAntibes le 14/07/2007 21:23:40

    Salut

    j'ai trouvé, il s'agit de faire afficher la fenêtre en simple affichage avec ce code
            GestionArticleModifier.MdiParent = Me
            m_ChildFormNumber += 1
            GestionArticleModifier.Text = "Fenêtre " & m_ChildFormNumber
            GestionArticleModifier.Show()

    Mais pas en multi affichage
            Dim ChildForm As New GestionArticleModifier
            ChildForm.MdiParent = Me
            m_ChildFormNumber += 1
            ChildForm.Text = "Fenêtre " & m_ChildFormNumber
            ChildForm.Show()

    voila la solution été simple, mais pas évidente à trouver...
    Dis moi si pour toi ROMAGNY si le code est correct.
    A+

  • signaler à un administrateur
    Commentaire de ManuAntibes le 28/07/2007 11:52:42

    Bonjour à tous

    J'ai trouvé comment faire transferer la datarow même avec plusieurs fenêtres ouverte.

    Code dans MdiParent pour ouvrir plusieurs fenêtres:
              Dim ChildForm As New GestionArticleModifier
              ChildForm.MdiParent = Me
              m_ChildFormNumber += 1
              ChildForm.Text = "Fenêtre " & m_ChildFormNumber
              ChildForm.Tag = "Fenêtre " & m_ChildFormNumber
              ChildForm.Show()

    Code dans la fenêtre qui recupère le DataRow:
        'Recupere la ligne de la table Article qui a ete selectionner dans la fentre Recherche_ListeArticle.vb
        Sub Recup_listeArticle(ByVal row As DataSet.Table_ArticleRow, ByVal NomFenetre As String)
            For Each ChildForm As GestionArticleModifier In My.Forms.MDIParent.MdiChildren
                If ChildForm.Tag = NomFenetre Then
                    ChildForm.DataSet.Table_Article.Clear()
                    ChildForm.DataSet.Table_Article.ImportRow(row)
                    Exit For
                End If
            Next
        End Sub
    A+

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS