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

C# Discussion :

Récupérer une valeur d'un tableau (sans lecture seq)


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 37
    Points : 27
    Points
    27
    Par défaut Récupérer une valeur d'un tableau (sans lecture seq)
    Bonjour,

    Je voudrais faire une addition des "Num" de mon tableau, quand je passe à ma fonction plusieur code Client.

    Je voudrais une solution pour pouvoir, le plus rapidement possible chercher le "Num" de "1" par exemple, sans faire une lecture total de haut en bas de ma colone "Client", et un "si le code est le bon, alors je prend la valeur de la colone d'à coté avec le même Rows index etc..."

    Donc je cherche quelque chose qui pourrais faire ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int g = DataGridView.GetValueColum[Num].WhereColum[Client]=[1]
    Avec un tableau comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Client 	| Num
    ----------------
    1	| 100
    2	| 25
    3	| 50
    4	| 30
    Faut imaginer bien sur ^^

    Ci dessous un exemple de se que j'ai déjà fait.

    La boucle découpe char par char le code client et si ce n'est pas une virugle de trouvé, ça met le caractère dans une variable tmp.
    Dès qu'il trouve une virgule, ça veu dire que c'est un code client complet qui est dans la variable tmp, et donc la je vais récupérer la dite valeur.
    Ensuite je remet mon code client tmp à vide, et je continue à découpé après la dernière virgule trouvé, et ainsi de suite.

    Ca m'oblige aussi à mettre une virgule à la fin de mon dernier code client.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double tmp = Compte("1,2,");
    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
    public double Compte(string Client)
    {
    	/* Découpage */
    	int c = Client.Lenght();
    	string tmp_client = "";
        string tmp_char = "";
    	double tmp_result = 0;
    	double t;
     
    	for (int i = 0; i < c; i++)
                {
                    tmp_char = client[i].ToString();
                    if (tmp_char != ",") // Si je trouve pas de virgule c'est que le code client n'est pas encore entier
                    {
                        tmp_client = tmp_client + tmp_char;
                    }
                    else // Sinon il est entier et je traite
                    {          				
    						/*
    				  t =    *	Prendre ma valeur "Num" par rapport à mon tmp_client qui correspond à mon "Client", 
    				    	 */
     
    				   tmp_result = tmp_result + t;
     
                        tmp_client = ""; // Je remet à vide le code client
                    }
    	}
    return tmp_result; // Retourner 125
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Utilise les expressions Linq sur le datasource de ta DataGridView. Et tu pourras faire quelque chose de ce style là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int g = DataGridView.GetValueColum[Num].WhereColum[Client]=[1]
    Voici un liaen qui pourras peut être d'aider http://msdn.microsoft.com/fr-fr/vcsharp/aa336746

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    linq parcourera toutes les lignes aussi

    il faut un index sur la source de données, comment remplis-tu ton dgv ?

    néanmoins, parcourir toutes les lignes même s'il y en a quelque milliers ce n'est pas forcément génant

    d'une manière générale il vaut mieux travailler sur la source de données (enfin côté .net) que sur un controle graphique
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/03/2013, 15h28
  2. Récupérer une valeur d'un tableau avec jQuery
    Par waouni dans le forum jQuery
    Réponses: 8
    Dernier message: 21/05/2012, 11h23
  3. [HTML] Récupérer une valeur dans un tableau - DIV
    Par frtou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 02/09/2008, 10h12
  4. Récupérer une valeur dans un tableau ?
    Par le polak dans le forum Excel
    Réponses: 1
    Dernier message: 26/05/2008, 18h08
  5. Récupérer une valeur dans un tableau
    Par Jeren dans le forum Langage
    Réponses: 2
    Dernier message: 29/04/2008, 10h03

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