In the GridView, how does one format the Money field (downmoon )?
<Asp: GridView ID = "GridView1" runat = "server" AutoGenerateColumns = "False" DataKeyNames = "PKID"
DataMember = "DefaultView" DataSourceID = "SqlDataSource1">
<Columns>
<Asp: BoundField DataField = "PKID" HeaderText = "PKID" InsertVisible = "False" ReadOnly = "True"
SortExpression = "PKID"/>
<Asp: TemplateField>
<HeaderTemplate>
Amount </HeaderTemplate>
<ItemTemplate>
<Asp: Label ID = "txtMoney" Text = '<% # Decimal. parse (DataBinder. eval (Container. dataItem, "amount "). toString () %> 'runat = "server"/>
</ItemTemplate>
</Asp: TemplateField>
<Asp: BoundField DataField = "TestID" HeaderText = "TestID" SortExpression = "TestID"/>
<Asp: BoundField DataField = "testString" HeaderText = "testString" SortExpression = "testString"/>
</Columns>
</Asp: GridView>
In this Code,
Amount is a Money-type field, and can only be displayed
1234.5600
But cannot be displayed
1,234.56
Use
<Asp: BoundField DataField = "amount" HeaderText = "amount" DataFormatString = "{0: n2}"/>
<Asp: BoundField DataField = "amount" HeaderText = "amount" DataFormatString = "{0: c2}"/>
No!
Later, I found the answer on MSDN.
<Asp: BoundField DataField = "amount" HeaderText = "amount" DataFormatString = "{0 :#,##. 00}" HtmlEncode = "False"/>
The key lies in HtmlEncode = "False"
Http://blogs.msdn.com/danielfe/archive/2006/02/08/527628.aspx