Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1824 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Datagrid point decimal supprimé automatiquement [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C#] Datagrid point decimal supprimé automatiquement [Résolu]

n°2145922
SplitForm
Moomnia !!!
Posté le 15-06-2012 à 11:17:09  profilanswer
 

Bonjour,
 
 
Je butte sur un problème un peu énervant. J'ai un écran avec une DataGridView liée à un OracleDataReader. Cette DataGrid peut-être alimentée par l'injection d'informations en provenance d'Excel ou par une saisie libre dans les colonnes.
 
Comme j'utilise la même DataGrid pour alimenter plusieurs tables, je ne connais donc pas le ni nombre, ni le type des colonnes de la grid.
 
Mon problème est que, pour les données décimales, lorsque l'on saisie par exemple 100.20 et que l'on sort du champ ou que l'on enregistre, le point séparateur disparait et cela devient 10020
Si l'on utilise une virgule dans ce cas pas de problème. Etant donnée qu'il s'agit de montant, c'est assez ennuyeux  :whistle:  
 
Comment puis-je forcer, pour toute la DataGrid que seul le . soit autorisé (ou au moins qu'il ne disparraisse pas) ?
 
Merci


Message édité par SplitForm le 15-06-2012 à 14:22:18
mood
Publicité
Posté le 15-06-2012 à 11:17:09  profilanswer
 

n°2145952
SplitForm
Moomnia !!!
Posté le 15-06-2012 à 14:22:03  profilanswer
 

Bon et bien j'ai trouvé une solution. C'est un peu violent, mais ça force le DataError et donc je peux catcher l'erreur de saisie.
 
Lors du chargement de mes données, j'ai ajouté ce test :
 

if (Column.ValueType == typeof(decimal))
            Column.ValueType = typeof(string);


 
En gros, pour les colonnes définies en Decimal côté Oracle, je les repasse en type string. Du coup, lorsque l'on sort du champ, cela génère une erreur si la conversion en decimal échoue. Enfin, j'ai surchargé la méthode DataError de la DataGrid pour prévenir l'utilisateur qu'il y a un problème avec le point décimal.
 
Sinon, j'allais tenter ça, mais c'est plus long : http://www.theproblemsolver.nl/dotnet_faq_0015.htm
 
Tout est bien qui fini bien  [:zjk]


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [C#] Datagrid point decimal supprimé automatiquement [Résolu]

 

Sujets relatifs
Developpement d'un jeu sous udk (C++)reception INT de C vers Java problématique
[VB.NET] Appel d'une DLL écrite en C++C++ Builder 6 - Utiliser une liste déroulante
[C] Aide pour petit exo 2[C] Aide pour petit exo
[C/SDL] Rotation Image/PositionnementWrapper C++ avec SWIG
C++ Builder répertoire problème !! 
Plus de sujets relatifs à : [C#] Datagrid point decimal supprimé automatiquement [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR