À L'Aide De BoundField.DataFormatString de format de données de devise, pas de $'s et les nombres négatifs devraient être en ( )'s
J'ai un gridview que je suis le remplissage avec des données pour les gens dans la comptabilité et qu'ils veulent me format de la valeur des devises, de sorte qu'ils affichent sans en dollars, avec des virgules séparant les chiffres et les nombres négatifs entouré par ( )
par exemple:
12345.67 = 12,345.67
-12345.67 = (12,345.67)
J'ai trouvé beaucoup d'exemples autour de la interwebs qui me fermer, mais il n'y a pas ( ) autour des négatifs ou il y a un $ inclus.
Je suis en train d'essayer de trouver une solution qui ne permet pas de mettre plus de charge sur le serveur sql que ma requête peut obtenir assez complexe déjà et qui a tendance à prendre plus de 40 secondes pour retourner des résultats dans un assez peu de système de test et je ne suis pas sûr combien de temps il faudra une fois que nous allons vivre.
ensuite, vous devez optimiser votre requête, mais un simple
merci, c'est d'excellents conseils...
édité ma réponse et a fourni une drôle de façon. Mais je recommande d'utiliser RowDataBound car le code sera beaucoup plus lisible. Btw, il y a rien de plus rapide que la base de données.
il y a peut-être pas quelque chose de plus que la base de données, mais à l'aide de la couche de données pour faire le travail de la couche de présentation semble comme une route semée d'embûches et pas une bonne pratique pour en obtenir. Votre édité réponse est beaucoup plus proche de ce que je vais, mais n'est pas encore tout à fait aussi concis que j'espérais.
ensuite, vous devez optimiser votre requête, mais un simple
case
ne pas aggraver la performance.merci, c'est d'excellents conseils...
édité ma réponse et a fourni une drôle de façon. Mais je recommande d'utiliser RowDataBound car le code sera beaucoup plus lisible. Btw, il y a rien de plus rapide que la base de données.
il y a peut-être pas quelque chose de plus que la base de données, mais à l'aide de la couche de données pour faire le travail de la couche de présentation semble comme une route semée d'embûches et pas une bonne pratique pour en obtenir. Votre édité réponse est beaucoup plus proche de ce que je vais, mais n'est pas encore tout à fait aussi concis que j'espérais.
OriginalL'auteur kaelle | 2011-03-29
Vous devez vous connecter pour publier un commentaire.
Donc je suppose que, fondamentalement, la question est, qu'est-ce que la Chaîne.Format() l'appel que je voudrais faire pour formater une valeur monétaire à ces exigences.
Après déconner avec certains formats personnalisés j'ai tout compris!
Fonctionne comme un charme.
OriginalL'auteur kaelle
Si c'était juste numériques sans ( ) il serait aussi simplement que {0:N} mais puisque vous avez besoin ( ) pour les nombres négatifs BoundField n'est pas votre choix, sauf si vous voulez faire quelque chose en sql, le niveau ou le code-behind de manipuler directement les datasouce avant qu'il est lié au champ.
La prochaine option est d'utiliser TemplateField avec une Étiquette et définir le définir en conséquence dans le GV RowDataBound Événement dans le code-behind.
OriginalL'auteur gbs