2

経理担当者向けのデータを入力しているグリッドビューがあり、通貨の値を書式設定して、$ なしで表示し、桁をコンマで区切り、負の数を ( ) で囲んで表示するように求めています。

例えば:

 12345.67 = 12,345.67
-12345.67 = (12,345.67)

私はインターウェブの周りに私を近づける多くの例を見つけましたが、ネガの周りに ( ) がないか、含まれている $ があります。

4

2 に答える 2

8

したがって、基本的に問題は、前述の要件に合わせて通貨値をフォーマットするために行うString.Format()呼び出しとは何かということだったと思います。

いくつかのカスタムフォーマットをいじった後、私はそれを理解しました!

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

チャームのように機能します。

于 2011-03-29T21:17:17.947 に答える
1

( ) のない単なる数値の場合は {0:N} と同じくらい単純になりますが、負の数には ( ) が必要なので、SQL レベルで何かをしたり、データソースを直接操作する分離コードで何かをしたい場合を除き、BoundField は選択できません。フィールドにバインドされる前に。

次のオプションは、Label で TemplateField を使用し、それに応じてコード ビハインドの GV RowDataBound イベントでセットを設定することです。

于 2011-03-29T19:03:42.100 に答える