Gridview列根据取值给前台付其他的值及数据规范

 

 <asp:TemplateField HeaderText="早餐" SortExpression="Breakfast">
                                    <EditItemTemplate>
                                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Breakfast") %>'></asp:TextBox>
                                    </EditItemTemplate>
                                    <ItemTemplate>
                                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("Breakfast") %>'></asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>

 

 

绑定gridview的RowDataBound事件

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if(e.Row.RowType==DataControlRowType.DataRow)
        {
            Label shehe = (Label)e.Row.Cells[3].FindControl("Label1");
            if (shehe.Text == "False")
            {
                shehe.Text = "<span >不包含</span>"; ;
            }
            if (shehe.Text == "True")
            {
                shehe.Text = "包含";
            }
        }
    }

 

这里需要注意以下几点
1. 在GridView中的asp:BoundField使用DataFormatString必须设置属性HtmlEncode="False",否则不起作用。
2. 如果需要使用日期类型的格式化字符串,必须数据实体中对应的字段也应该日起类型的。
3. 格式化字符串C代表货币单位,需要绑定的数据类型应该是数字类型的。如果是字符串类型的不起作用,需要手动添加格式化字符串为DataFormatString="¥{0:C}"。

 

DataFormatString="{0:N0}%“
DataFormatString="${0:N2}"
DataFormatString="{0:N0}个"
DataFormatString="No.{0:N0}"
DataFormatString="{0:yyyy-MM-dd hh:mm:ss}"

==========================以下是转载的原文=========================================

Tag:

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://xiekeli.blogbus.com/logs/10004523.html

数据格式设置表达式

.NET Framework 格式设置表达式,它在数据显示在列中之前先应用于数据。
此表达式由可选静态文本和用以下格式表示的格式说明符组成:

{0:format specifier}

0 是参数索引,它指示列中要格式化的数据元素;因此,通常用零来指示第一个(且唯一的)元素。
format specifier 前面有一个冒号 (:),它由一个或多个字母组成,指示如何格式化数据。
可以使用的格式说明符取决于要格式化的数据类型:日期、数字或其他类型。

下表显示了不同数据类型的格式设置表达式的示例。有关格式设置表达式的更多信息,请参见格式化类型。

格式设置表达式
应用于此数据类型
说明
Price: {0:C}
numeric/decimal
显示 “Price:” ,后跟以货币格式表示的数字。货币格式取决于通过 Page 指令或 Web.config 文件中的区域性属性指定的区域性设置。
{0:D4}
integer (不能和小数一起使用。)
在由零填充的四个字符宽的字段中显示整数。
{0:N2}%
numeric
显示精确到小数点后两位的数字,后跟 “%”
{0:000.0}
numeric/decimal
四舍五入到小数点后一位的数字。不到三位的数字用零填充。
{0:D}
date/datetime
长日期格式( “Thursday, August 06, 1996” )。日期格式取决于页或 Web.config 文件的区域性设置。
{0:d}
date/datetime
短日期格式( “12/31/99” )。
{0:yy-MM-dd}
date/datetime
用数字的年-月-日表示的日期( 96-08-06 )。

ASP.NET设置数据格式应用示例:
       {0:d}     YY-MM-DD
      {0:p}     百分比00.00%
      {0:N2} 12.68
        {0:N0} 13
        {0:c2}   $12.68
        {0:d}      3/23/2003       
        {0:T}    12:00:00 AM
        {0:男;;女}

DataGrid数据格式的Format-- DataFormatString

DataFormatString="{0:格式字符串}"

如原来的数据为「12.34」,若格式设定为 {0:N1},则输出为「12.3」

格式字符串 资料 结果
"{0:C}" 12345.6789 -> $12,345.68
"{0:C}" -12345.6789 -> ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 -> 00012345
"{0:E}" 12345.6789 -> 1234568E+004
"{0:E10}" 12345.6789 -> 1.2345678900E+004
"{0:F}" 12345.6789 -> 12345.68
"{0:F0}" 12345.6789 -> 12346
"{0:G}" 12345.6789 -> 12345.6789
"{0:G7}" 123456789 -> 1.234568E8
"{0:N}" 12345.6789 -> 12,345.68
"{0:N4}" 123456789 -> 123,456,789.0000
"Total: {0:C}" 12345.6789 -> Total: $12345.68

DateTime.Now.ToString("yyyy-MM-dd");//这种模式最好
aspx:
<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="204px">
<Columns>
<asp:BoundColumn DataField="date" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>

</asp:datagrid>

 

    在我们从业务逻辑层获得数据实体时候,接下来的事情就是要绑定到控件中。数据实体中的一些字段可以直接绑定到界面中,但是有一些字段需要重新格式化格式。比如货币单位字段,需要显示货币符号和每隔三位显示分隔符;再比如日期字段,数据库中存放的是日期和时间,但是在界面上需要按照XXXX年XX月XX日的格式显示。这时候我们就用到了DataFormatString属性。

<asp:GridView ID="grvResult" runat="server" AutoGenerateColumns="False" Width="100%">

    <Columns>

        <asp:BoundField HeaderText="预定日期" DataField="OperationDate" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False">

        </asp:BoundField>     

        <asp:BoundField HeaderText="订单总计" DataField="TotalRate" DataFormatString="{0:C}" HtmlEncode="False">

        </asp:BoundField>

    </Columns>

</asp:GridView>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值