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

Windows Forms Discussion :

Comment faire pour choisir une colonne d'un dataGrid?


Sujet :

Windows Forms

  1. #21
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Il faut que tu modifie:

    1. Le type de numInter dans la classe Donnees ainsi que les getter et setter
    2. Int32.Parse(dr[0].ToString()) par dr[0].ToString()
    3. numinter = Int32.Parse(NumInter.Text); par numinter = label.Text (label étant le nom de ton label qui contient la valeur de ton numero d'intervention)

    Normalement, ça devrait marcher maintenant

  2. #22
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    Effectivement mais j'ai modifié le type de numinter dans la classe Données, voila ce que cela me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public class Donnees
    		{
    			private string numinter;
    			private DateTime dateHeure;
    			private string contenu;
    			private string tel;
    			private string moyenContact;
     
    			public Donnees(string n, DateTime d, string c, string t, string m)
    			{
    				numinter= n;
    				dateHeure= d;
    				contenu= c;
    				tel= t;
    				moyenContact= m;
    			}
    			public DateTime DateHeure
    			{
    				get{ return dateHeure; }
    				set{ dateHeure= value; }
    			}
    			public string Contenu
    			{
    				get{ return contenu; }
    				set
    				{ 
    					contenu = value; 
    					if(contenu == null)
    					{
    						numinter = NumInter.Text;
    					}
    				}
    			}
    			public string Tel
    			{
    				get{ return tel; }
    				set{ tel = value; }
    			}
    			public string NumInter
    			{
    				get{ return numinter; }
    				set{ numinter= value; }
    			}
    			public string MoyenContact
    			{
    				get{ return moyenContact; }
    				set{ moyenContact= value; }
    			}
    		}
    Voici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    DataTable dt1 = new DataTable();
    			string RelationClientele = ("SELECT RC_NUMINTER as numinter, RC_DHRELCL as DateHeure, RC_CNURELCL as Contenu, RC_TELCTACT as Tel, RC_MOYCTACT as MoyenContact FROM RELATION_CLIENTELE WHERE RC_NUMINTER = '" + NumInter.Text + "'");
    			connection.Open();
    			try
    			{
    				SqlDataAdapter dataAdapter1 = new SqlDataAdapter(RelationClientele, connection);
    				dataAdapter1.Fill(dt1);
    				dataGrid2.DataMember = "RelationClientele";
     
    			}
    			catch(Exception ex)
    			{
    				MessageBox.Show(ex.ToString());
    			}
    			finally
    			{
    				connection.Close();
    			}  
    			listeDonnees liste = new listeDonnees();
    			//Transformation du DataTable en listeDonnees			
    			foreach(DataRow dr in dt1.Rows)
    			{
    				liste.Add(new Donnees(dr[0].ToString(),DateTime.Parse(dr[1].ToString()), dr[2].ToString(), dr[3].ToString(), dr[4].ToString()));
    			}
    			dataGrid2.DataSource = liste;
    Mais j'ai toujours le message d'erreur :
    C:\Documents and Settings\fils\Mes documents\Visual Studio Projects\SuiviClient_DistribInfo\SuiviIntervention.cs(811): 'string' ne contient pas de définition pour 'Text'
    Donc je comprend pas trop ce que je peux faire!!

    Cordialement!!

  3. #23
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Rah mais lis les erreurs un peu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public string Contenu
    			{
    				get{ return contenu; }
    				set
    				{ 
    					contenu = value; 
    					if(contenu == null)
    					{
    						numinter = NumInter.Text;
    					}
    				}
    			}
    NumInter.Text, NumInter est un string et il n'existe pas de propriété Text pour un string, donc tu enlèves ce .Text.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  4. #24
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Skyounet
    Suis d'accord que l'erreur veux dire :
    n'existe pas de propriété Text pour un string
    mais si j'enléve le '.Text' est-ce qu'il va vraiment prendre la valeur du label??!!

    Cordialeemnt!!

  5. #25
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Au vu des posts que tu écris, il apparaît qu'il y a un certains nombre de chosesque tu n'a pas encore comprises ; c'est normal, on apprend tous.

    En l'occurrence, je t'invite à te renseigner sur le concept de type. Et plus encore, à mieux profiter au très bon outil qu'est le debugger de visual studio, accompagné d'Intellisense.

    Quelle infobulle apparaît quand tu places ton curseur sur "NumInter" ? string, n'est ce pas ? parce que cette propriété est déjà du type string. Ce n'est plus un label, parce qu'on a déjà affecté à NumInter la valeur d'un label.

    C'est plus clair ?
    ಠ_ಠ

  6. #26
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Guulh
    Quelle infobulle apparaît quand tu places ton curseur sur "NumInter" ? string, n'est ce pas ?
    Désolé mais je peux pas répondre car j'ai malheureusement un problème qui est le suivant : Si aucune relation clientèle existe dans la base alors les colonnes du dataGrid n'apparaise plus. Par contre si des relation clientéle ont déja été enregistré dans la base alors, il m'affiche l'erreur suivante :
    Une exception non gérée du type 'System.Reflection.TargetInvocationException' s'est produite dans system.windows.forms.dll
    Informations supplémentaires*: L'accesseur de propriété 'NumInter' sur l'objet 'System.String' a levé l'exception suivante*:'L'objet ne correspond pas au type cible.'
    Je comprend pas trop pourquoi j'obtien ces erreurs a présent??!!

    Merci d'avance!!

  7. #27
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Je te parle de visual studio, pas de ton appli. VS incorpore un système appelé Intellisense, qui fait que quand ton curseur est au dessus d'un objet, tu vois son commentaire (s'il y en a un), son type, ... La complétion automatique (qui apparait quand tu tapes "monobjet." et te proposes toutes les méthodes / champs du type de ton objet), c'est aussi Intellisense.

    Donc, dans Visual Studio, quand tu mets le curseur de ta souris à l'endroit où le compilateur te dit qu'il y a une erreur, tu peux regarder le type de l'objet en question, et te rendre compte de ton erreur.
    ಠ_ಠ

  8. #28
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Guulh
    ok Guulh, je comprend mieu!!

    Maiis as-tu une idée pour mon problème??

    Cordialement!!

  9. #29
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Si je comprend bien, le probleme qui te reste c'est de recuperer le texte d'un label.

    comment il s'appelle ? propriete "name" dans vS du label. Quand tu sauras comment il s'appelle, tu pourras y acceder avec le code suivant:

    label1.Text (en remplacant "label1" par le nom de ton label)

  10. #30
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    mon label s'appelle NumInter. Mais lorsque je fais cela, ça fonctionne pas car j'ai le message d'erreur suivant :
    C:\Documents and Settings\fils\Mes documents\Visual Studio Projects\SuiviClient_DistribInfo\SuiviIntervention.cs(811): 'string' ne contient pas de définition pour 'Text'
    Ensuite, lorsque je choissit une intervention pour laquel aucune relation clientèle existe dans la base(donc choissit auparavent) alors mon dataGrid est vide. Mais si je choissit une intervention avec des relations clientéle déja existantes alors j'ai le message d'erreur suivant qui se génére :
    Une exception non gérée du type 'System.Reflection.TargetInvocationException' s'est produite dans system.windows.forms.dll
    Informations supplémentaires*: L'accesseur de propriété 'NumInter' sur l'objet 'System.String' a levé l'exception suivante*:'L'objet ne correspond pas au type cible.'
    Voila les erreurs qu'il me reste en espérant que vous pourrez m'aider!!

    cordialement!!

  11. #31
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par loic20h28 Voir le message
    mon label s'appelle NumInter.
    MAIS ??!!!!

    Ca t'arrive de lire ce qu'on prend la peine de t'expliquer ??

    Alors qu'on se casse les noyaux depuis des heures à t'expliquer que NumInter N'EST PAS UN LABEL MAIS UNE CHAINE.
    ಠ_ಠ

  12. #32
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à Guulh
    C'est bon je répond juste au question!!

    Ce que je souhaite obtenir c'est le résultat du label de ma fenêtre(NumInter) dans la colonne numinter de mon dataGrid.
    Donc je me demande comment le programme peut faire pour inséré dans le dataGrid le résultat du label?? !!

  13. #33
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Tu peux nous faire une copie d'ecran de ton ecran en encadrant ton label ?

  14. #34
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    Voila ci-joint la capture écran de ma fenêtre.

    Entouré en rouge a gauche de l'écran est le numéro de l'intervention(donc le label). Ensuite nous avons le deuxième dataGrid qui correspond au relation cleintèle.

    Ce dataGrid, comme on le voi bien, les colonnes ne sont pas créés. Comment faire??

    Cordialement!!

  15. #35
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Bon alors je t'explique pourquoi le nom de ton label ne peut pas s'appeller "numInter" parce qu'il y a un getter/setter qui s'appelle deja comme ça. Normalement, ton programme devrait te sortir un message du genre: numInter est deja defini...

    Pour connaitre le nom de ton label, essaie de voir dans la fenetre "Proprietes" quand tu selectionne ton label (qui contient ta valeur non pas le titre) en mode design, regarde la proriete "name" ou "nom" si tu travaille sur VS ou SharpDevelop

  16. #36
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    J'ai été vérifié, et j'ai bien appelé mon label "NumInter" la preuve dans le document joint!!

    Cordialement

  17. #37
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Verifie tes namespaces, tu as bien mis le meme namespace dans le fichier contenant ta classe que celui de ta form ?
    Si oui je ne comprend plus rien

  18. #38
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    J'ai téte compris, ma classe données, je dois l'inséré ou?? pour le moment je l'ai mise dans la class de la fenêtre, ai-je bien fais?? je doute la!!

  19. #39
    Membre du Club

    Inscrit en
    Mars 2007
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 63
    Points : 65
    Points
    65
    Par défaut
    Fais moi un copier coller de ce tout que tu as dans ce fichier, je verrai peut etre d'ou vient le probleme

  20. #40
    Débutant  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 571
    Points : 353
    Points
    353
    Par défaut réponse à titip
    Cette page est assez longue car ça me permet d'alimenter toute les textBox.... de la fenêtre.

    La classe 'Donnees', je dois faire : projet --> ajouter une classe??

    Si oui, cette classe doit hérité de la class correspondant a la fenêtre??

    Pour la classe 'listeDonnees' c'est une nouvelle classe également ou elle peut allé dans la classe 'Donnees'??

    Cordialement!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/05/2009, 03h48
  2. Comment faire pour qu'une colonne s'agrandisse selon son contenu?
    Par loic20h28 dans le forum Windows Forms
    Réponses: 19
    Dernier message: 13/08/2008, 19h34
  3. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 15h31
  4. Comment faire pour killer une application ?
    Par tintin22 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 17/08/2004, 18h16
  5. comment faire pour qu'une application soit toujours visible ?
    Par goldbar dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/03/2004, 14h35

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