更改DEVExpress的Column的DisplayFormat为自定义的方法。

 public partial class Form1 : XtraForm
{
public Form1()
{
InitializeComponent();
InitGrid();
gridView1.Columns[].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
gridView1.Columns[].DisplayFormat.Format = new MyExamFormat();
} public class MyExamFormat : IFormatProvider, ICustomFormatter
{
public string NumberToChinese(int num)
{
string numStr = "";
string chineseStr = "零一二三四五六七八九";
if (num >= && num <= ) { return chineseStr[numStr.IndexOf(num.ToString()[])].ToString(); }
else if (num >= && num <= ) { if (num == ) { return "十"; } return "十" + chineseStr[numStr.IndexOf(num.ToString()[])].ToString(); }
else if (num >= && num <= )
{
if (num % == ) { return chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "十"; }
else return chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "十" + chineseStr[numStr.IndexOf(num.ToString()[])].ToString();
}
else if (num >= && num <= )
{
if (num % == ) { return chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "百"; }
else return chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "百" +
((int.Parse(num.ToString().Substring().ToString()).ToString().Length != (num.ToString().Length - )) ?
"零" + NumberToChinese(int.Parse(num.ToString().Substring()))
: NumberToChinese(int.Parse(num.ToString().Substring())));
}
else if (num >= && num <= )
{
if (num % == ) { return chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "千"; }
else return
chineseStr[numStr.IndexOf(num.ToString()[])].ToString() + "千" +
((int.Parse(num.ToString().Substring().ToString()).ToString().Length != (num.ToString().Length - )) ?
"零" + NumberToChinese(int.Parse(num.ToString().Substring()))
: NumberToChinese(int.Parse(num.ToString().Substring())));
}
return num.ToString();
} public object GetFormat(Type formatType)
{
if (formatType == typeof(ICustomFormatter))
{
return this;
}
else return null;
} public string Format(string format, object arg, IFormatProvider formatProvider)
{
return "第" + NumberToChinese(int.Parse(arg + "")) + "题";
}
}
BindingList<Person> gridDataList = new BindingList<Person>();
void InitGrid()
{
gridDataList.Add(new Person("John", "Smith", ));
gridDataList.Add(new Person("Gabriel", "Smith", ));
gridDataList.Add(new Person("Ashley", "Smithfdsaf", ));
gridDataList.Add(new Person("Adrian", "some comment", ));
gridControl.DataSource = gridDataList;
} }

显示效果如下:

宋兴柱博客地址:http://www.cnblogs.com/songxingzhu

更改DEVExpress的Column的DisplayFormat为自定义的方法。的更多相关文章

  1. DevExpress的GridControl控件设置自定义显示方法

    比如要显示性别为字符串,数据库中保存为数值(1:男,2:女,3:未知). 方法一: 点击控件上的"Run Designer"按钮,进入设计界面. 选择“Columns", ...

  2. [BS-19]更改UITextField的placeholder文字颜色的5种方法

    更改UITextField的placeholder文字颜色的5种方法 想要达到的目标是:一个页面上有多个UITextField,当用户聚焦某textField时,该文本框的placeholder的文字 ...

  3. 【转】OpenWRT开发自定义应用方法

    [转]OpenWRT开发自定义应用方法 转自:http://blog.csdn.net/rudyn/article/details/38616783 OpenWRT编译成功完成后,所有的产品都会放在编 ...

  4. validate插件深入学习-04自定义验证方法

    自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...

  5. Jquery自定义扩展方法(二)--HTML日历控件

    一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...

  6. Jquery自定义扩展方法(一)

    jquery是一款流行的JS框架,自定义JS方法,封装到Jquery中,调用起来也挺方便的,怎么写Jquery扩展方法那,网上翻阅了一部分代码,其实也挺简单的: 方式一: (jQuery.fn.set ...

  7. jqery validate、validate自定义验证方法 + jaery form Demo

    校验规则 required:true  必输字段 remote:"check.php"  使用ajax方法调用check.php验证输入值 email:true  必须输入正确格式 ...

  8. OC中实例变量可见度、setter、getter方法和自定义初始化方法

    在对类和对象有一定了解之后,我们进一步探讨实例变量的可见度等相关知识 实例变量的可见度分为三种情况:public(共有),protected(受保护的,默认),private(私有的),具体的不同和特 ...

  9. Sails 自定义 model 方法

    Sails 自定义 model 方法 在 Sails 中 model 提供了一些原生的静态方法,如 .create(), .update(), .destroy(), .find(), 等. 在实际业 ...

随机推荐

  1. android任意view爆炸效果--第三方开源--ExplosionField

    犹如天女散花一样,爆炸散列,比较有趣.Android ExplosionField在github上的项目主页是:https://github.com/tyrantgit/ExplosionField ...

  2. PHP错误处理

    错误的分类: 1.语法错误     2.运行时错误 3.逻辑错误 调试方法:1.注释法 2.输出法 error_reporting(E_ALL & ~E_NOTICE & ~E_WAR ...

  3. ElasticSearch.js

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...

  4. 刀哥多线程之并发队列gcd-05-dispatch_queue_concurrent

    并发队列 特点 以先进先出的方式,并发调度队列中的任务执行 如果当前调度的任务是同步执行的,会等待任务执行完成后,再调度后续的任务 如果当前调度的任务是异步执行的,同时底层线程池有可用的线程资源,会再 ...

  5. GNU make 规则

    clean : rm *.tmp 规则格式: targets : prerequisites recipe ... targets : prerequisites : recipe recipe .. ...

  6. 苏泊尔借助微软CRM提升客户满意度

    企业背景 作为中国最大.全球第二的炊具研发制造商和中国小家电领先品牌,品质和创新一是苏泊尔矢志追求的企业理念,从火红点无油烟锅的发明到能做柴火饭的球釜IH饭煲的面世,苏泊尔用产品的创新和品质的承诺,不 ...

  7. 透过数据看现实,漫谈实况FIFA的这些年

    虽然,只是个普通玩家,虽然带了一点青春,一点爱.虽然,有那么些怀念 ~ 好吧,不浪费篇幅伪伪的煽情,直插主题.(很长且多图,更多讲述的是实况FIFA间的你来我往,互相赶超的故事.本想全面展开描述细节, ...

  8. C++ STL vector 内存分配

    vector为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储. 当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间.拷贝元素.撤销 ...

  9. android开发中系统自带语音模块的使用

    android开发中系统自带语音模块的使用需求:项目中需要添加语音搜索模块,增加用户体验解决过程:在网上搜到语音搜索例子,参考网上代码,加入到了自己的项目,完成产品要求.这个问题很好解决,网上能找到很 ...

  10. ORACLE SQL TUNING ADVISOR 使用方法

    sql tunning advisor 使用的主要步骤: 1 建立tunning task 2 执行task 3 显示tunning 结果 4 根据建议来运行相应的调优方法  下面来按照这个顺序来实施 ...