zoukankan      html  css  js  c++  java
  • 更改DEVExpress的Column的DisplayFormat为自定义的方法。

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

     public partial class Form1 : XtraForm
        {
            public Form1()
            {
                InitializeComponent();
                InitGrid();
                gridView1.Columns[2].DisplayFormat.FormatType = DevExpress.Utils.FormatType.Custom;
                gridView1.Columns[2].DisplayFormat.Format = new MyExamFormat();
            }
    
            public class MyExamFormat : IFormatProvider, ICustomFormatter
            {
                public string NumberToChinese(int num)
                {
                    string numStr = "0123456789";
                    string chineseStr = "零一二三四五六七八九";
                    if (num >= 0 && num <= 9) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString(); }
                    else if (num >= 10 && num <= 19) { if (num == 10) { return ""; } return "" + chineseStr[numStr.IndexOf(num.ToString()[1])].ToString(); }
                    else if (num >= 20 && num <= 99)
                    {
                        if (num % 10 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
                        else return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" + chineseStr[numStr.IndexOf(num.ToString()[1])].ToString();
                    }
                    else if (num >= 100 && num <= 999)
                    {
                        if (num % 100 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
                        else return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" +
                          ((int.Parse(num.ToString().Substring(1).ToString()).ToString().Length != (num.ToString().Length - 1)) ?
                             "" + NumberToChinese(int.Parse(num.ToString().Substring(1)))
                            : NumberToChinese(int.Parse(num.ToString().Substring(1))));
                    }
                    else if (num >= 1000 && num <= 9999)
                    {
                        if (num % 1000 == 0) { return chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + ""; }
                        else return
                             chineseStr[numStr.IndexOf(num.ToString()[0])].ToString() + "" +
                          ((int.Parse(num.ToString().Substring(1).ToString()).ToString().Length != (num.ToString().Length - 1)) ?
                             "" + NumberToChinese(int.Parse(num.ToString().Substring(1)))
                            : NumberToChinese(int.Parse(num.ToString().Substring(1))));
                    }
                    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", 10));
                gridDataList.Add(new Person("Gabriel", "Smith", 15));
                gridDataList.Add(new Person("Ashley", "Smithfdsaf", 11));
                gridDataList.Add(new Person("Adrian", "some comment", 987));
                gridControl.DataSource = gridDataList;
            }
    
        }

    显示效果如下:

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

  • 相关阅读:
    C++ 获取图片文件信息
    java中redis的分布式锁工具类
    java中的redis工具类
    mysql中的sql查询优化
    利用Linux中的crontab实现分布式项目定时任务
    MYSQL的REPLACE和ON DUPLICATE KEY UPDATE使用
    redis学习三,Redis主从复制和哨兵模式
    redis学习五,redis集群搭建及添加主从节点
    String 转化成java.sql.Date和java.sql.Time
    SpringMVC配置双数据源,一个java项目同时连接两个数据库
  • 原文地址:https://www.cnblogs.com/songxingzhu/p/4205694.html
Copyright © 2011-2022 走看看