При использовании BoundField.DataFormatString для форматирования данных валют не должно быть ни $, ни отрицательных чисел в () - PullRequest
2 голосов
/ 29 марта 2011

У меня есть сетка, которую я заполняю данными для людей в бухгалтерии, и они хотят, чтобы я отформатировал значения валют так, чтобы они отображались без $, с запятыми, разделяющими цифры, и с отрицательными числами, окруженными ()

например:.

12345,67 = 12 345,67
-12345,67 = (12 345,67)

Я нашел много примеров, связанных со связями, которые сближают меня, но либо нет () вокруг негативов, либо есть $.

Ответы [ 2 ]

8 голосов
/ 30 марта 2011

Таким образом, я думаю, что в основном вопрос заключался в том, что бы я сделал вызовом String.Format () для форматирования значения валюты в соответствии с вышеупомянутыми требованиями.

После возни с некоторыми пользовательскими форматами, я понял это!

var amt = new BoundField ();
amt.DataFormatString = "{0:#,##0.00;(#,##0.00);0}";

Работает как шарм.

1 голос
/ 29 марта 2011

Если бы это было просто числовое значение без (), это было бы так же просто, как {0: N}, но так как вам нужно () для отрицательных чисел, BoundField не является вашим выбором, если вы не хотите делать что-либо на уровне SQL или напрямуюманипулирование источником данных до его привязки к полю.

Следующий вариант - использовать TemplateField с меткой и соответственно установить набор в GV RowDataBound Event в выделенном коде.

...