public string Two(object old)
{
decimal d = decimal.Parse(old.ToString());
return decimal.Round( d,2 ).ToString();
}<asp:TemplateColumn HeaderText="两位小数">
<ItemTemplate>
<%# Two(DataBinder.Eval(Container, "DataItem.value")) %>
</ItemTemplate>
</asp:TemplateColumn>
{
decimal d = decimal.Parse(old.ToString());
return decimal.Round( d,2 ).ToString();
}<asp:TemplateColumn HeaderText="两位小数">
<ItemTemplate>
<%# Two(DataBinder.Eval(Container, "DataItem.value")) %>
</ItemTemplate>
</asp:TemplateColumn>
冒号前的值(常规示例中为 A)指定在从零开始的参数列表中的参数索引。注意 此值只能设置为 0,因为每个单元格中只有一个值。
冒号后的字符(一般示例中为 B)指定值的显示格式。下表列出了一些常用格式。格式字符 说明
C 以货币格式显示数值。
D 以十进制格式显示数值。
E 以科学记数法(指数)格式显示数值。
F 以固定格式显示数值。
G 以常规格式显示数值。
N 以数字格式显示数值。
X 以十六进制格式显示数值。 注意 除 X 以指定的大小写形式显示十六进制字符之外,其他格式字符不区分大小写。
格式字符后的值(一般示例中为 xx)指定显示的值的有效位数或小数位数。有关格式化字符串的更多信息,请参阅格式设置概述。示例
[Visual Basic, C#, JScript] 下面的示例展示如何使用 DataFormatString 属性来为在 DataGrid 控件中显示价格的列指定货币格式。[Visual Basic]
<%@ Import Namespace="System.Data" %>
<html>
<script language="VB" runat="server">
Function CreateDataSource() As ICollection
Dim dt As New DataTable()
Dim dr As DataRow
dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
Dim i As Integer
For i = 0 To 8
dr = dt.NewRow()
dr(0) = i
dr(1) = "Item " + i.ToString()
dr(2) = 1.23 *(i + 1)
dt.Rows.Add(dr)
Next i
Dim dv As New DataView(dt)
Return dv
End Function 'CreateDataSource
Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
' Load this data only once.
ItemsGrid.DataSource = CreateDataSource()
ItemsGrid.DataBind()
End If
End Sub 'Page_Load
</script>
<body>
<form runat=server>
<h3>BoundColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
runat="server"> <HeaderStyle BackColor="#00aaaa">
</HeaderStyle> <Columns> <asp:BoundColumn
HeaderText="Number"
DataField="IntegerValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Description"
DataField="StringValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
</asp:BoundColumn> </Columns>
</asp:DataGrid>
</form>
</body>
</html>
[C#]
<%@ Import Namespace="System.Data" %>
<html>
<script language="C#" runat="server">
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
}
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
</script>
<body>
<form runat=server>
<h3>BoundColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
runat="server"> <HeaderStyle BackColor="#00aaaa">
</HeaderStyle> <Columns> <asp:BoundColumn
HeaderText="Number"
DataField="IntegerValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Description"
DataField="StringValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
</asp:BoundColumn> </Columns>
</asp:DataGrid>
</form>
</body>
</html>
[JScript]
<%@ Import Namespace="System.Data" %>
<html>
<script language="JScript" runat="server">
function CreateDataSource() : ICollection
{
var dt : DataTable = new DataTable();
var dr : DataRow;
dt.Columns.Add(new DataColumn("IntegerValue", GetType(Int32)));
dt.Columns.Add(new DataColumn("StringValue", GetType(String)));
dt.Columns.Add(new DataColumn("CurrencyValue", GetType(double)));
for (var i : int = 0; i < 9; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i + 1);
dt.Rows.Add(dr);
}
var dv : DataView = new DataView(dt);
return dv;
}
function Page_Load(sender : Object, e : EventArgs)
{
if (!IsPostBack)
{
// Load this data only once.
ItemsGrid.DataSource= CreateDataSource();
ItemsGrid.DataBind();
}
}
</script>
<body>
<form runat=server>
<h3>BoundColumn Example</h3>
<b>Product List</b>
<asp:DataGrid id="ItemsGrid"
BorderColor="black"
BorderWidth="1"
CellPadding="3"
AutoGenerateColumns="false"
runat="server"> <HeaderStyle BackColor="#00aaaa">
</HeaderStyle> <Columns> <asp:BoundColumn
HeaderText="Number"
DataField="IntegerValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Description"
DataField="StringValue">
</asp:BoundColumn> <asp:BoundColumn
HeaderText="Price"
DataField="CurrencyValue"
DataFormatString="{0:c}">
</asp:BoundColumn> </Columns>
</asp:DataGrid>
</form>
</body>
</html>
<asp:BoundColumn DataField="QCYE" SortExpression="FHSJ" HeaderText="期初余额" DataFormatString="{0:f2}"></asp:BoundColumn>