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

VB.NET Discussion :

problème de langues


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut problème de langues
    Bonjour à tous.

    Un problème se pose à moi...

    Voici la situation :

    J'ai écrit une application, qui jusqu'ici, fonctionne parfaitement (je touche du bois^^).

    Cette application accède à une base données et affiche des informations dans différents datagridview (jusque là, rien de très original ou difficile).

    Pour certains usage, j'ai besoin de récupéré l'une ou l'autre valeur de la ligne sélectionnée dans un ou plusieurs des datagridviews.

    En soi, ce n'est pas sorcier, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDGV.SelectedRows(0).Cells("MonChamp").value
    me donne accès à la valeur dont j'ai besoin en remplaçant le String "MonChamp" par le nom du champ adéquat.

    Mon souci vient du fait que mon application est multilingue (bilingue jusqu'ici). Ce qui veut dire que je devrais faire un Select Case suivant la langue en cours pour pouvoir écrire la ligne de code précédemment citée avec le nom du champ dans la bonne langue. Sans quoi, le champ ne serait pas trouvé et cette ligne provoquerait une erreur.

    Bien sûr, cela est faisable mais je me dis aussi que franchement, ce n'est pas très.... "esthétique" (pas trouvé de meilleur mot).

    Je me demandais donc s'il y avait un moyen d'accéder à la valeur de ce champ sans devoir multiplier les lignes de code pour chaque langue utilisée.

    Remarque : Je désire ne pas travailler avec l'index des colonnes car s'il devait arriver que j'ajoute ou supprime une colonne, tout serait inévitablement décallé.

    J'en appelle donc à la sagesse de ce forum

    Merci d'avance.

    Griftou.

  2. #2
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    Bonjour,

    Vu que tu es dans une datgridview, pourquoi ne passes-tu pas par l'index de la colonne, au lieu de passer par son nom ?

    Avec l'index tu n'auras plus aucun problème de nom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDGV.SelectedRows(0).Cells(1).value
    Dans l'exemple je mets "1", tu n'as toi même qu'à mettre l'index de ta colonne (en sachant que la première colonne a l'indice "0").

    Sinon comment remplis-tu ton DGV ? Avec la Datasource, ou en utilisant la propriété DataPropertyName des colonnes, car ça a son importance pour l'index.

    Pardon lol pas lu jusqu'au bout, l'autre solution que je vois c'est que tu utilises une variable comme champs déclaré comme string.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monDGV.SelectedRows(0).Cells(tavriable).value
    et que cette variable prenne sa valeur en fonction du fichier resx au niveau des langues.

    Dernière question, pourquoi ne pas vouloir utiliser les index (qui te simplifierais beaucoup la vie à mon avis), est-ce que la suppression de colonnes peut-être réalisée pendant l'éxecution ?

  3. #3
    Membre expérimenté
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Par défaut
    Je travaillais avec l'index avant.

    Mais à force, j'ai appris à connaître les gens avec qui je bosse et je m'attends à ce que l'on me demande de changer l'ordre des colonnes, d'en enlever ou d'en supprimer au fur et à mesure que l'application sera utilisée.

    C'est pour me simplifier au maximum la maintenance.

    Sinon, tu parles de fichier resx.

    J'avoue être totalement incompétent dans ce domaine. Ce n'est sûrement pas la bonne manière de faire mais je gère les langues manuellement. J'ai du me former moi-même au .NET car on ne trouve jamais d'argent pour une formation (par contre pour les réceptions et autres, ça ne pose apparemment pas de problèmes '-_-)

  4. #4
    Membre émérite Avatar de methylene
    Profil pro
    Inscrit en
    Février 2010
    Messages
    659
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2010
    Messages : 659
    Par défaut
    En ce qui concerne les langues au niveau resx (avec un lien vers le cours de P. Lasserre directement fichier resx), je te conseille d'aller voir de ce coté-ci :

    http://www.developpez.net/forums/d95...serform-volee/

    Au niveau de l'index si c'est juste pour une question de maintenance, je pense qu' un code clair avec repérage des colonnes par les index reste le plus simple (sauf dans le cas d'une datasource où c'est un peu le bordel et je n'ai jamais compris pourquoi, mais la propriété DataPropertyName reste une bonne solution).

    Ensuite, je ne suis plus très sur, mais quand tu appelles une colonne par son "Champs", il me semble que c'est la propriété TaColonne.Name = "" qui est visée, et non pas la propriété TaColonne.HeaderText = "", donc tu ne devrais pas avoir à te soucier des langues, vu que seul le HeaderText doit changer de nom (en fonction de la langue).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de langue
    Par Lust14 dans le forum Oracle
    Réponses: 5
    Dernier message: 06/02/2007, 17h11
  2. probléme utilisation langue arabe?
    Par dj_techno dans le forum Delphi
    Réponses: 2
    Dernier message: 28/12/2006, 16h51
  3. Problème de langue avec GTK 2.10.3
    Par Feysal dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 27/10/2006, 14h38
  4. Problème de langues (russe)
    Par tonydiniro dans le forum Langage
    Réponses: 1
    Dernier message: 25/10/2006, 15h26
  5. Fonction today() et problème de langue
    Par zia77 dans le forum Powerbuilder
    Réponses: 2
    Dernier message: 22/05/2006, 14h43

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