更改DEVExpress的Column的DisplayFormat为自定义的方法。
更改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为自定义的方法。的更多相关文章
- DevExpress的GridControl控件设置自定义显示方法
比如要显示性别为字符串,数据库中保存为数值(1:男,2:女,3:未知). 方法一: 点击控件上的"Run Designer"按钮,进入设计界面. 选择“Columns", ...
- [BS-19]更改UITextField的placeholder文字颜色的5种方法
更改UITextField的placeholder文字颜色的5种方法 想要达到的目标是:一个页面上有多个UITextField,当用户聚焦某textField时,该文本框的placeholder的文字 ...
- 【转】OpenWRT开发自定义应用方法
[转]OpenWRT开发自定义应用方法 转自:http://blog.csdn.net/rudyn/article/details/38616783 OpenWRT编译成功完成后,所有的产品都会放在编 ...
- validate插件深入学习-04自定义验证方法
自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...
- Jquery自定义扩展方法(二)--HTML日历控件
一.概述 研究了上节的Jquery自定义扩展方法,自己一直想做用jquery写一个小的插件,工作中也用到了用JQuery的日历插件,自己琢磨着去造个轮子--HTML5手机网页日历控件,废话不多说,先看 ...
- Jquery自定义扩展方法(一)
jquery是一款流行的JS框架,自定义JS方法,封装到Jquery中,调用起来也挺方便的,怎么写Jquery扩展方法那,网上翻阅了一部分代码,其实也挺简单的: 方式一: (jQuery.fn.set ...
- jqery validate、validate自定义验证方法 + jaery form Demo
校验规则 required:true 必输字段 remote:"check.php" 使用ajax方法调用check.php验证输入值 email:true 必须输入正确格式 ...
- OC中实例变量可见度、setter、getter方法和自定义初始化方法
在对类和对象有一定了解之后,我们进一步探讨实例变量的可见度等相关知识 实例变量的可见度分为三种情况:public(共有),protected(受保护的,默认),private(私有的),具体的不同和特 ...
- Sails 自定义 model 方法
Sails 自定义 model 方法 在 Sails 中 model 提供了一些原生的静态方法,如 .create(), .update(), .destroy(), .find(), 等. 在实际业 ...
随机推荐
- Python 初学(一) 标识符
Python 标识符 在python里,标识符由字母.数字.下划线组成: python中的标识符是区分大小写的: 1)以单下划线开头(_foo)的代表不能直接访问的类属性,需要通过类提供的接口进行访问 ...
- Requests:Python HTTP Module学习笔记(二)(转)
在上一篇日志中对Requests做了一个整体的介绍,接来下再介绍一些高级的用法,主要资料还是翻译自官网的文档,如有错漏,欢迎指正. 参考资料:http://docs.python-requests.o ...
- tomcat生成ssl证书
转载:http://www.cnblogs.com/sixiweb/p/3339698.html 1.1 生成keystore文件及导出证书 打开控制台: 运行: %JAVA_HOME%\bin\ke ...
- About Inside the Azure Storage Outage of November 18th
Channel 9的官方解释 http://channel9.msdn.com/posts/Inside-the-Azure-Storage-Outage-of-November-18th 曾经在自己 ...
- Debug.print的用法
使用Debug.print可以用来更好的调试VBA程序 通过ALT+F11代开VBA编程窗口) 插入模块,接着在窗口中输入以下代码,按F5执行 Sub Excute() Debug.Print * + ...
- android开发系列之由ContentValues看到的
这本篇博客里面我想重点来分析一下ContentValues的源码以及它里面涉及到的继承接口Parcelabel,还有HashMap的源码. 相信使用过android里面数据库操作的朋友对于Conten ...
- js贪吃蛇
function init() { w = 40; m = 20; d = w * m / 2; food = null; dm = new ht.DataModel(); g3d = new ht. ...
- C++11 常用语法
1 新类型 C++ 11新增了long long和unsigned long long,以支持64bit宽度: 新增char16_t和char32_t以支持16位和32位字符表示: 增加了“原始”字符 ...
- Controltemplate datatemplate
DataTemplate ControlTemplate we can search many posts about this topic. some valuable link: DataTemp ...
- SharePoint 2010 设置宽度1024px
在模板页中找到 s4-workspace,设置class=”s4-nosetwidth“,然后再设置宽度为1024px:如果要居中,设置style=“margin:0 auto” 这样也会有一个问题: ...