很多情况下在绑定数据的时候,要进行格式转换。如果只有两种状态,比如说在数据库用0表示为男1表示为女,那在数据显示的时候,我们不可能让用户看到的是0和1,他们看到0和1也不明白是什么情况。所以,要进行格式转换。

先以 男女为示例。

使用三远运算符进行转换:

1  < asp:TemplateField  HeaderText ="性别" >
2        < ItemTemplate >               
        <%# Eval("UserGender").ToString()=="0"?"男":"女" %>

3      </ItemTemplate>

4</asp:TemplateField>

我们也可以在后台写代码进行处理:

前台:

1  < asp:TemplateField  HeaderText ="性别" >
2        < ItemTemplate >
3           <% # FormatGenderData( Eval ( " UserGender " ).ToString()) %>              
4        </ ItemTemplate >
5  </ asp:TemplateField >

后台:

1     protected   string  FormatGenderData( string  sex)
2      {
3           string [] arrs  =   new   string [] {  " 男 " ,  " 女 "  };
4           return  arrs[Convert.ToInt16(sex)].ToString();
5      }

请大家注意下,为什么使用 protected 来定义,如果使用private,HTML是访问不到这个方法的,因为private是私有的。也可以定义为public,在这就定义成protected。

还有大家可能会有疑问,为什么我们不使用if else或者switch case等语句来实现呢,虽然是可行的,但是大家有没有想到,那样写,使代码复杂化,我们可以变通下,把需要输出的字符串使用字符串数组顺序来存放,使用索引号来取相应的字符串,这样代码就非常简洁。

我们的方法接受的是字符串型参数,Eval()方法返回的是object类型。所以我们需要使用ToString()把数据转化为字符串型。

如果状态比较多的情况下,比如0 1 2 3 4 也可以使用此方法。

转载于:https://www.cnblogs.com/LeeYongze/archive/2010/06/25/1765148.html

格式化GridView 数字0和1转换为男女 及更复杂的处理相关推荐

  1. 如何把后端传来的数字0、1,方便的给转换为性别男、女,或者转换为状态禁用、启用,还有如果后端返回密码到前端,前端如何把密码给清空保证安全

    虽然我们是后端开发人员,但是很多时候前端的一些东西也会需要自己写,我刚接触开发时,看到后端的性别和状况都是0.1这种形式存到数据库的,当时就不知道如何把它转换为对应的男女和禁用.启用在前端显示出来.经 ...

  2. 简单介绍python format格式化和数字格式化

    这篇文章主要介绍了python format格式化和数字格式化,格式化字符串的函数 str.format(),它增强了字符串格式化的功能,基本语法是通过{} 和 : 来代替以前的 % ,下面内容介绍, ...

  3. c语言stdio中null的值,C/C++编程笔记:C语言NULL值和数字 0 值区别及NULL详解

    原创 程序员无言 2020-07-01 在学习C语言的时候,我们常常会碰到C语言NULL值和数字 0 ,很多小伙伴搞不清楚他们之间的一个区别,今天我们就了解一下他们之间的区别,一起来看看吧! 先看下面 ...

  4. php 数字加逗号,PHP数字格式化,数字每三位加逗号

    php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...

  5. Numeral.js 是一个用于格式化和数字四则运算的js 库

    1.Numeral.js 是一个用于格式化和数字四则运算的js 库. 2.支持多种语言,包括中文在内的17种语言. 在浏览器中引用js文件: <script src="numeral. ...

  6. 数字0~9的手写识别

    效果演示 先看一下界面,界面做的有点简陋 大致记录一下操作的过程 1.点击训练 2.选择一个需要训练的数字 3.在白色面板上写下该训练的数字 4.写完后点击确定 5.双击白色面板,清除画的数字痕迹,重 ...

  7. php 带逗号数字转换,php实现数字格式化,数字每三位加逗号的功能函数169856420=169,856,420...

    //php实现数字格式化,数字每三位加逗号的功能函数 //number_format("169856420"); 输出结果将为:169,856,420 public functio ...

  8. php如何每三位逗号分开,PHP 数字格式化,数字每三位加逗号的简单示例

    这篇文章主要为大家详细介绍了PHP 数字格式化,数字每三位加逗号的简单示例,具有一定的参考价值,可以用来参考一下. 对PHP数字格式化,数字每三位加逗号感兴趣的小伙伴,下面一起跟随512笔记的小编两巴 ...

  9. python 日期格式月份不加前导,Python datetime时间格式化去掉前导0

    Python datetime时间格式化去掉前导0 Python时间格式化的时候,去掉前导0的: dt = datetime.now() print dt.strftime('%-H') #结果是: ...

最新文章

  1. 2018-3-26论文(GWO和WOA)中Table1--Table3中的benchmark函数F1-F23图形
  2. github建立静态网站,域名解析和跳转
  3. 玩转UITableView
  4. 科技论文新在哪里?-如何写好科技论文之我见(三)
  5. python挖长尾词 源码,如何用代码挖局长尾关键词
  6. Linux 下修改(NTFS或fuseblk)磁盘(卷标)显示名称
  7. 'yasm' 不是内部或外部命令
  8. java多线程下载图片_java多线程批量下载图片(通用版)
  9. java基于ssm+vue的办公耗材采购管理系统
  10. qq服务器正在升级维护中,建议您稍后再尝试打开.谢谢!,用友通维护锦集
  11. VCL语法教程——5.手持式1311编程器的支持
  12. Java基础系列(五)——Collection集合Map源码详解
  13. Mac wifi 卡死
  14. 日订单量达到100万单后,我们做了订单中心重构
  15. 数据库:Redis数据库
  16. 数据化运营17 留存:如何通过数据、社交、内容手段提升用户留存?
  17. 【苹果代发家庭推imessage】软件安装利用X代码iMessage Extensitioniments Sage SDK 1
  18. 漏洞扫描原理及X-Scan使用
  19. Linux进程调度 - 实时调度器 LoyenWang
  20. VisionMaster 学习笔记(USB 孔定位)

热门文章

  1. 2018-GaAN: Gated Attention Networks for Learning on Large and Spatiotemporal Graphs
  2. 疯狂的程序员1-40
  3. word2vec 的个人理解
  4. 互联网电影院带来新突破,5G+4K’
  5. redis发布/订阅模式
  6. Xcode自带的超好用的诊断工具
  7. 分享5款超级实用的电脑软件
  8. uniapp手机号一键登录
  9. 屏蔽ctrl/shift + R/F5
  10. 加快BITMAP像素访问速度,取代GetPixel