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

VC++ .NET Discussion :

[C++.NET] Relation entre 2 colonnes de mon data


Sujet :

VC++ .NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut [C++.NET] Relation entre 2 colonnes de mon data
    Bonjour � tous,
    Alors voila la chose, j'ai un data avec 2 colonnes, je voudrais que lorsque je selectionne (par le code) une valeur se trouvant dans ma 1ere colonne, j'obtiens la valeur de ma 2eme colonne.

    Exemple:
    Si dans ma 1ere colonne j'ai "jean" et bien je veux que cela me renvoit ce qui se trouve dans la 2eme colonne c'est a dire son age "20".

    Faut il faire des relations ou je ne sais quoi?
    Je patauges.
    Comment faire? Avez vous des idees?

    Merci @++

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    D�tails du profil
    Informations personnelles :
    �ge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par d�faut
    Alors voila la chose, j'ai un data avec 2 colonnes
    DataSet ?
    DataGridView ?
    DataAdapter ?

  3. #3
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Excusez moi pour le manque de precision:
    1 dataset
    8 datatables
    1 datagrid

    Ca sera pareil pour toutes les datatables.

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par d�faut
    Je pense que tu doit pouvoir r�cup�rer la ligne s�l�ctionn�.
    Si tu g�re les evenement genre CellClick :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    private void DG_Detail_DP_CellClick(object sender, DataGridViewCellEventArgs e)
    {
         e.rowIndex // le numero de la ligne
    }
    et apr�s il te suffit de r�cup�rer la bonne cellule dans la colonne choisie


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
     
    MaValeur = MonDataGrid.Rows[e.RowIndex].Cells[1];
    Dans l'exemple je r�cup�re la valeur de la seconde colonne.

    Bonne chance

  5. #5
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Ca doit marcher ta solution mais je ne selectionne pas de cellule vu que je travaille sur une autre form que celle ou ce trouve le datagrid.

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 160
    Par d�faut
    Ton probl�me est tr�s vaguement d�crit mais si je comprends bien, tu as la valeur d'une colonne et tu veux obtenir la valeur de la 2e colonne correspondate. Si c'est le cas, tu cherches dans la DataTable concern�e :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    DataRow dr = TaDataTable.Select("Nom1ereColonne = Valeur1ereColonne");
    object CeQueTuCherches = dr["Nom2emeColonne"];
    Soit plus pr�cis dans tes decriptions stp. J'esp�re t'avoir aid�, courage !

  7. #7
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Oki merci pour les reponses.
    Avec un exemple concret ca devrait mieux passer.

    Alors j'ai une colonne sappelant "distance" et l'autre "precipitation" apres avoir effectuer certains calculs j'ai un resultat qui correspond a ma distance.
    Si par exemple mon resultat est egal a 15, je dois aller chercher dans la colonne "distance" la valeur correspondant a mon resultat (15) puis prendre la valeur se trouvant dans la colonne "precipitation" en fonction de distance.

    Jespere avoir ete assez clair et precis.

    Merci @++

  8. #8
    Membre confirm�
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    160
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 160
    Par d�faut
    Tr�s bien.

    J'imagine que ces enregistrements, ces lignes sont stock�es dans une de tes DataTables de ton DataSet. Je supposerai que cette DataTable s'appelle dtPrecipitations (� remplacer par le nom que tu as donn�, bien sur). Tu n'as qu'a faire :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    DataRow drCherchee = dtPrecipitations.Select("distance = 15");
    int iPrecipitationQueTuCherches = Convert.ToInt32(drCherchee["precipitation"]);
    Voil�. J'esp�re que ca va fonctionner.

  9. #9
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Merci de m'avoir repondu et excusez moi davoir repeter la meme question.
    Faut me comprendre c'est le matin .
    @++

  10. #10
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    J'ai tester un autre truc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    <div style="text-align: left;">DataRow *drCherchee = __try_cast<DataRow*>(Table1->Select("Distance=15"));
    DtaColumn * myCol = __try_cast<DataColumn*>(Table1->Select("Precipitation));
    float valeurCherchee = Single::Parse(drCherchee->get_Item(myCol)->ToString());
    MessageBox::Show(Convert::ToString(valeurCherchee));</div>
    Je pensais que ca allait fonctionner mais meme pas, j'ai une erreur a son lancement:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    le cast specifie nest pas valide
    Mais lorsque je ne fais pas de cast c'est la folie jai trop trop derreur a la compilation.

    Aidez moi SVP

  11. #11
    Membre actif Avatar de netomin
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    81
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 81
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    DataRow *drCherchee = __try_cast<DataRow*>(Table1->Select("Distance=15"));
    Tu ne peux pas utiliser cette ligne de code avec comme parametre (Table1->Select("Distance=15")) car comme ta du voir dans l'exemple que je t'avais donn� le parametre doit �tre un IEnumerator.

    C'est logique que cela te donne une erreur car le cast est impossible.

    Par rapport � ta question:

    Si tu selectionne une cellule d'un datagrid tu peux faire, par exemple si t'as un Datagrid1:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    
    DataGridCell __gc *myCell;
    myCell = __box(dataGrid1->CurrentCell);
    
    Et apr�s pour prendre la valeur correspondante dans ta datatable:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    
    DataRow* myRow = tonDataSet1->TaTable1->get_Rows()->get_Item(myCell->get_RowNumber());
    textBox1->Text=myRow->get_Item(myCell->get_ColumnNumber())->ToString();
    
    Et pour l'autre colonne que t'a besoin de recuperer la valeur c � d "Precipitation" tu met le numero de colonne correspondant � la place de (myCell->get_ColumnNumber()).

    J'�sp�re avoir �t� simple.

    � +

  12. #12
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Je ne peux pas utiliser mon datagrid pour effectuer ma selection il faut que je travaille directement avec mes 8 datatables.

    Comment je fais puisque avec les datatables je peux pas utiliser "Cell".

  13. #13
    Membre actif Avatar de netomin
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    81
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 81
    Par d�faut
    Tu dois juste faire un boucle pour parcourir les lignes de tes tables et comparer la valeur que tu cherches avec la valeur de la colonne apartenant � chaque ligne.
    Je m'explique:

    Le code post� avant tu le met dans un boucle et � la place de utiliser les index de myCell de ton datagrid (pour les lignes) tu utilises le compteur i par exemple d'un boucle For...Next, et pour les colonnes tu utilises le nom de ta variable Distance ou son numero correspondant de colonne.

    � +

  14. #14
    Membre confirm�
    �tudiant
    Inscrit en
    Avril 2006
    Messages
    122
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Avril 2006
    Messages : 122
    Par d�faut
    Je suis en train de developper le code qui correspond a la question, des que j'ai finis je le poste.
    Il servira surement a d'autres personnes.

    @+++

Discussions similaires

  1. R�ponses: 5
    Dernier message: 29/05/2015, 14h51
  2. [AC-2003] les relations entre tables access avec un code vb.net
    Par Walid(Tun) dans le forum VBA Access
    R�ponses: 5
    Dernier message: 13/10/2010, 22h31
  3. [CLR .Net 2]Relation entre GetHashCode() et Equals()
    Par Mose dans le forum Framework .NET
    R�ponses: 10
    Dernier message: 24/11/2006, 19h03
  4. R�ponses: 4
    Dernier message: 22/08/2006, 11h20
  5. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    R�ponses: 5
    Dernier message: 14/01/2004, 17h07

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