一、动态生成列的格式化

  此种GridView中的列是动态生成的,格式化可以通过RowDataBound事件进行。如下边代码,对第十列的值进行格式化。

protected void gvUserList_RowDataBound(object sender, GridViewRowEventArgs e)
{
//格式化代码
if(e.Row.Cells[9].Text=='1')
{
e.Row.Cells[9].Text="XXX";
}
else
{
e.Row.Cells[9].Text="YYY";
}
} 二、在源码中对已配置好列的格式化   下边的源码是已配置好列的GridView,将以此为例进行格式化。 <asp:GridView ID="GridView1"runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="UserName" HeaderText="姓名" />
  <asp:BoundField DataField="Sex" HeaderText="性别" />
<asp:BoundField DataField="State" HeaderText="状态" />
<asp:BoundField DataField="LoginDateTime" HeaderText="最后登录时间" />
</Columns>
</asp:GridView>   此例中需要格式化的地方有:最后登录时间,性别,状态。最后登录时间为日期的格式化;性别是值为两种情况的格式化;状态是值为多种情况的格式化。 格式化方法:   方法一、使用后台进行格式化,即用动态生成列的格式化方法。   方法二、直接在源码上进行格式化。   这里我们重点介绍在源码上进行格式化。   2.2.1日期格式化     如上边GridView中的"最后登录时间" 要格式化成"yyyy-MM-dd"的形式。格式的化的方法是用DataformatString。     例子源码中<asp:BoundField DataField="LoginDateTime" HeaderText="最后登录时间" />的格式化代码如下。 <asp:BoundField DataField="LoginDateTime" HeaderText="最后登录时间" DataFormatString="{0:yyyy-MM-dd HH:mm}" />     当然DataFormatString不只是只能格式化日期,也可以格式化货币、数字等,详情请参才MSDN。相关地址如下: BoundColumn.DataFormatString 属性介绍:http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.boundfield.dataformatstring.aspx   2.2.2 值为两种情况的格式化     如上边的GridView中的"性别"。性别有男、女两种情况,如果 0为男、1为女,则格式化方法可以用<TemplateField> +数据绑定表达式:<%#数据绑定表达式%> + 三元运算符在解决。
    例子源码中<asp:BoundField DataField="Sex" HeaderText="性别" />的格式化代码如下。      <asp:TemplateField HeaderText="性别">
<ItemTemplate>
<%#Eval("Sex").ToString().Trim()=="0"?"男":"女" %> //或者(true为男,false为女) // <%#Convert.ToBoolean(Eval("Sex "))?"男":"女" %>
</ItemTemplate>
</asp:TemplateField>   2.2.3 值为多种情况格式化     例子中“状态”有多种,其值和显示名称为:1:已登陆;2:未登陆;3:注销;4:删除;另外为其它
   现在要格式化怎么办?显然三元运算符已无法解决这个问题。解决这个问题的方法与上边类似。但是用<TemplateField> +数据绑定表达式:<%#数据绑定表达式%> + 范型属性来解决。
    我们首先在页面的后台代码中定义一个范型的共公属性,此属性用于格式化。并在Page_load中赋值。后台代码为: protected static Dictionary<string, string> StateList { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
StateList = new Dictionary<string, string>();
StateList .Add("1", "已登陆");
StateList .Add("2", "未登陆");
StateList .Add("3", "注销");
StateList .Add("4", "删除");
} 细心的朋为会看到只有四个状态值,还有一个状态值“其它”没有看到,这个我们可以在源码中用三元运算符解决。
例子源码中<asp:BoundField DataField="State" HeaderText="状态" />的格式化代码如下。   <asp:TemplateField HeaderText="状态">
<ItemTemplate>
<%# StateList.ContainsKey(Eval("State").ToString().Trim()) ? StateList[Eval("State").ToString()] : "其它"%>
</ItemTemplate>
</asp:TemplateField>

GridView数据格式化的更多相关文章

  1. Devexpress GridView 数据格式化显示

    gridView1.CustomColumnDisplayText += gridView1_CustomColumnDisplayText; void gridView1_CustomColumnD ...

  2. Eval() 中数据格式化或格式化数据

    <%# Eval("SchoolEnd") == DBNull.Value ? "" : Convert.ToDateTime(Eval("Sc ...

  3. ScrollView嵌套ListView,GridView数据加载不全问题的解决

    我们大家都知道ListView,GridView加载数据项,如果数据项过多时,就会显示滚动条.ScrollView组件里面只能包含一个组件,当ScrollView里面嵌套listView,GridVi ...

  4. SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显

    在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...

  5. SpringMVC 数据转换 & 数据格式化 & 数据校验

    数据绑定流程 1. Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象 ...

  6. 使用自定的Adapter绑定ListView/GridView数据

    使用自定的Adapter绑定ListView/GridView数据(地址) 对于ListView/Gridview的数据绑定, google提供了一些Adapter的模板, 自己也可以自定义一些个性化 ...

  7. ECharts图表中级入门之formatter:夜谈关于ECharts图表内的数据格式化方法

    来源于:http://www.ithao123.cn/content-3751220.html 格式化之所以存在,主要是因为我们想把一些不够人性化的内容通过某种处理让其变得人性化,便于用户更好地理解内 ...

  8. PHP json数据格式化方法

    php 的json_encode能把数组转换为json格式的字符串.字符串没有缩进,中文会转为unicode编码,例如\u975a\u4ed4.人阅读比较困难.现在这个方法在json_encode的基 ...

  9. 一个通用的DataGridView导出Excel扩展方法(支持列数据格式化)

    假如数据库表中某个字段存放的值“1”和“0”分别代表“是”和“否”,要在DataGridView中显示“是”和“否”,一般用两种方法,一种是在sql中直接判断获取,另一种是在DataGridView的 ...

随机推荐

  1. 17-tail 简明笔记

    显示文件的最后一部分(尾部) tail [options] [file-list] 参数 file-list是tail要显示的文件的路径名列表.当制定多个文件时,tail在显示每个文件的内容之前先显示 ...

  2. Project Serve 2013部署方法

    在线版Project2013部署手册 服务器环境要求 系统:windows server 2008r2.windows server2012x64 Sharepoint 2013 内存至少16GB,最 ...

  3. 路由知识之ip route 命令中的疑惑

    1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...

  4. 稻壳图文模块调不出html代码

    <?php doc_article('1',20,0,0,0,266,true,true,'id',0)?> 图文调用,倒数第三个参数,官方说是是否显示html代码,但是实测是没用的,不过 ...

  5. SELinux关闭和开启

    检测Selinux状态 ./usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态 SELinux status: enabled .geten ...

  6. finally关键字

    final:禁止多态开关~修饰变量:变量不能被改变修饰类:类不能被继承修饰方法:方法不能被重写 finally:用在异常处理的最后一个语句块无论是否产生异常都要被执行~~~ Java代码 public ...

  7. 匿名内部类为什么访问外部类局部变量必须是final的?

    1.内部类里面使用外部类的局部变量时,其实就是内部类的对象在使用它,内部类对象生命周期中都可能调用它,而内部类试图访问外部方法中的局部变量时,外部方法的局部变量很可能已经不存在了,那么就得延续其生命, ...

  8. bzoj4381: [POI2015]Odwiedziny

    这题搞了我一下午……因为一些傻X的问题…… 对于步长大于sqrt(n)的询问,我们可以直接暴力求解 然后,我们可以事先预处理出d[u][step]表示u往上跳,每次跳step步,直到跳到不能跳为止,所 ...

  9. perl 哈希 连接符

    #!/usr/bin/perl -w use strict; my $test_1 = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"; my $test_2 ...

  10. VisualSVN Server HTTPS

    目测windows平台当前搭建svn最简单的就是VisualSVN Server 启动https 证书cp下面目录 C:\Program Files\VisualSVN Server\certs 修改 ...