更改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. C++判断五位以内的对称素数

    题目内容:判断一个数是否为对称且不大于五位数的素数. 输入描述:输入数据含有不多于50个的正整数n(0<n<232). 输出描述:对于每个n,如果该数是不大于五位数的对称素数,则输出“Ye ...

  2. 3)Java容器

    3)Java容器   Java的集合框架核心主要有三种:List.Set和Map.这里的 Collection.List.Set和Map都是接口(Interface). List lst = new ...

  3. sendBroadcast 无法接收

    项目中遇到已经sendbroadcast,但是在对应的BroadcastReceiver中却无法调用onReceiver 真是个纠结的问题.找了许久. 终于发现Intent中传递了一个参数(自定义类继 ...

  4. 有关IE的操作(收藏夹,清理缓存等)

    1.添加网页到收藏夹的函数: procedure AddURL(Folder, Url, Title: string); var MyUrlFile: TextFile; begin if Folde ...

  5. 20.python的文件处理

    我们日常在处理文件的时候一般都遵循这样的逻辑:打开文件,操作文件,保存关闭文件. 但在python中,又分为以下几步:创建文件对象,对文件对象进行操作(读入,写入之类的),关闭文件. 由于文件操作在p ...

  6. 安装boost1.57.0__注意之前mgiza似乎因为boost没有安装也没有完全编译成功

    首先下载(废话) 解压, ./bootstrap.sh 之后在运行b2 ./b2 -j8 --prefix=$PWD --libdir=$PWD/lib64 --layout=system link= ...

  7. 【PHP】PHP中的类与对象

    面向对象并不是PHP的关键,但PHP确实能很好的支持面向对象编程,而且类与对象也成为了PHP5的核心组成部分.PHP的面向对象特性让构建大型的复制应用成为可能,有了类与对象,就自然产生了各种编程范式和 ...

  8. Python 文件I/O

    文件I/O是Python中最重要的技术之一,在Python中对文件进行I/O操作是非常简单的. 1.打开文件 语法: open(name[, mode[, buffering]]) 1.1文件模式 1 ...

  9. python2 编码问题详解

    实例对比 定义 type str unicode print encode('utf8') decode('utf8') encode('unicode-escape') encode('string ...

  10. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...