web-dev-qa-db-ja.com

グリッドビューで小数点以下2桁に数字を表示

私は.aspxページに1つのGridviewを持っています。このgrid.howで動的データを表示しています.

15
gofor.net

バインドされた列には、DataFormatString列が必要です。次のようなことができます:

DataFormatString="{0:0.00}"数値カスタム形式文字列

[〜#〜] update [〜#〜]AutoGenerateColumns="true"...の場合、私はさらに詳細を知る必要がありますあなたが拘束しているものですが、ここに探求するいくつかの道があります:

  1. GridViewがデータ注釈でDataFormatAttributeを尊重するかどうかはわかりません。オブジェクトをバインドしていて、GridViewがその属性を尊重している場合、それは行くべき1つのルートかもしれません。
  2. RowDataBoundイベントを配線し、潜在的な10進数値について各列を検査し、その方法でフォーマットします。
36
HackedByChinese

gridViewでBoundFieldを記述できます。

<asp:BoundField DataField="amount" DataFormatString="{0:n}" />

gridViewでTemplateFieldを書くこともできます

<asp:TemplateField>
  <ItemTemplate>
    <%#Eval("amount","{0:n}")%>
  </ItemTemplate>
</asp:TemplateField>
13
Jig12

できるよ DataFormatString="{0:n2}"バウンドフィールド内

9
Amit Patel

これはテンプレート列で機能します。たとえば、比率のために小数を2桁にしたい場合(1:3など)

<%# Eval("somedatacolumn", "1:{0:.##}").ToString() %>
2
infocyde

DataFormatStringを使用し、トリックを行っていないようであれば、HtmlEncode = "false"、 例えば:

<asp:BoundField DataField="DateScheduled" HeaderText="Date Created"   DataFormatString="{0:D}" HtmlEncode="false"/> // date format
<asp:BoundField DataField="Amount" HeaderText="Pay This Amount" DataFormatString="{0:F}" HtmlEncode="false"/> // number format
1
Jason_P

GridViewで物事をフォーマットするには、2つの簡単な方法があります。最初は前の回答で与えられています-DataFormatStringを使用します。 2番目は、グリッドに動的にロードする状況に当てはまるように聞こえますが、グリッドに入るデータを変更することです。

そのため、数値を返してフォーマットしようとするのではなく、フォーマットされた数値を返してGridViewに表示させます。

0
Jason Berkan