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

  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
    Alors jai teste ceci:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    DataRow *drCherchee = __try_cast<DataRow*>(Table1->Select("Distance=15"));
    float valeurCherchee = Single::Parse(drCherchee->get_Item("Precipitation")->ToString());
    MessageBox::Show(Convert::ToString(valeurCherchee));
    Donc ca compile niquel mais lorsque j'execute l'appli et que je lance cette fonction j'ai une erreur qui apparait et qui dit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    Le cast specifie n'est pas valide
    C'est donc une erreur sur cette ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    DataRow *drCherchee = __try_cast<DataRow*>(Table1->Select("Distance=15"));
    Ou est l'erreur?
    Merci

  11. #11
    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
    Bon, ben ... t'es en c++ manag� VS2003.
    T'as essayer de pas faire de cast mais de declarer
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
     DataRow[] drCherchee = ....

  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
    Ce que tu mas dis ne genere pas d'erreur mais par contre j'ai cette ligne la
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    float valeurCherchee = Single::Parse(drCherchee->get_Item("Precipitation"));
    qui me genere une erreur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    "System::collections::Ilist::get_item" : impossible de convertir le parametre 1 de 'const char [14]' en 'int'

  13. #13
    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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    float valeurCherchee = Single::Parse(drCherchee["Precipitation"]);
    Regarde un peu les autres post que l'on t'avait mis merci

  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
    J'avais tester les parenthese car les crochets m generaient des erreurs.

    La en faisant ce que tu dis jai comme erreur sur cette ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    <div style="text-align: left;">float valeurCherchee = Single::Parse(drCherchee["Precipitation"]); </div>
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    initialisation : impossible de convertir de const char[14] en int

  15. #15
    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
    ok et bien c'est simple fait des test avec les valeurs : 1 et 2.
    Car cela doit correspondre au num�ro de ta colonne precipitation :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    float valeurCherchee = Single::Parse(drCherchee[1]); // si Distance = colonne 0
    OU
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
     float valeurCherchee = Single::Parse(drCherchee[2]); // si Distance = colonne 1

  16. #16
    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
    Y me dit que :
    L'index se trouve en dehors de la limite du tableau

  17. #17
    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
    Apres avoir tester une multitude de chose jen suis toujours au meme point, c'est a dire que j'ai toujours lune des erreurs cites avant quoi que je fasse.

  18. #18
    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

  19. #19
    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.

    � +

  20. #20
    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".

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