当前位置: 首页 > news >正文

如何让DevExpress的DateEdit控件正确显示日期的周名

DevExpress 的控件相当好看而且很好用,但 DateEdit 在是显示周名时,只能显示一个“星”字。

以下是解决方法,此解决方法不需修改其源码,所以免去了重新编译的必要,可直接使用其发布的标准DLL。  

  public class MyDateEdit : DevExpress.XtraEditors.DateEdit
  {
   protected override DevExpress.XtraEditors.Popup.PopupBaseForm CreatePopupForm()
   {
    return new MyPopupDateEditForm(this);
   }
  }

  public class MyPopupDateEditForm : DevExpress.XtraEditors.Popup.PopupDateEditForm
  {
   public MyPopupDateEditForm(MyDateEdit dateEdit) : base(dateEdit)
   {
   }

   protected override DevExpress.XtraEditors.Controls.DateEditCalendar CreateCalendar()
   {
    return new MyDateEditCalendar(OwnerEdit.Properties, OwnerEdit.EditValue);
   }

  }

  public class MyDateEditCalendar : DevExpress.XtraEditors.Controls.DateEditCalendar
  {
   public MyDateEditCalendar(
    DevExpress.XtraEditors.Repository.RepositoryItemDateEdit item,
    object editDate) : base (item, editDate)
   {
   }

   protected override DevExpress.XtraEditors.ViewInfo.DateEditInfoArgs CreateInfoArgs()
   {
    DevExpress.XtraEditors.ViewInfo.DateEditInfoArgs info = base.CreateInfoArgs ();
    System.Globalization.DateTimeFormatInfo newFormat =
     (System.Globalization.DateTimeFormatInfo)info.DateFormat.Clone();

    // 以下是重新设置日期的周名称。
    // 缺省情况下,前面带有“星期”两字,也正是因为如此才导致所谓的错误。
    // 注意,当前实现未处理语言环境,仅适用于中文环境。 
    newFormat.AbbreviatedDayNames = new string[]{
                "日",
                "一",
                "二",
                "三",
                "四",
                "五",
                "六"};

    info.DateFormat = newFormat;

    return info;
   }

  }

使用时,只需 MyDateEdit dateEdit1 = new MyDateEdit() 就可以了。

相关文章:

  • 手把手教你配置Windows2003集群
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • MSDN中文Webcast for Windows Phone
  • C++ 预编译头文件
  • C#学习笔记(七)——定义类
  • C#学习笔记(五)——函数
  • Google CEO 定义 Web 3.0
  • 判断字符串是否是回文字符串或者是否含有回文字符子串 (我是从两颗番茄的博客看的题目,然后自己编的) 不断学习!!...
  • DICOMDIR结构
  • MVC2 Area实现网站多级目录
  • IBM Java多线程 - 4.共享对数据的访问
  • TADOQuery池
  • Windows7问题集
  • 连接postgres特别消耗cpu资源而引发的PostgreSQL性能优化考虑
  • 应用开发框架之——业务规则脚本化
  • [nginx文档翻译系列] 控制nginx
  • 2017 前端面试准备 - 收藏集 - 掘金
  • 30天自制操作系统-2
  • Angular4 模板式表单用法以及验证
  • es的写入过程
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • mongo索引构建
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Redash本地开发环境搭建
  • Spring声明式事务管理之一:五大属性分析
  • vue 个人积累(使用工具,组件)
  • 基于Android乐音识别(2)
  • 排序算法学习笔记
  • 盘点那些不知名却常用的 Git 操作
  • 漂亮刷新控件-iOS
  • 使用Swoole加速Laravel(正式环境中)
  • 世界上最简单的无等待算法(getAndIncrement)
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • raise 与 raise ... from 的区别
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #13 yum、编译安装与sed命令的使用
  • #NOIP 2014#Day.2 T3 解方程
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (安卓)跳转应用市场APP详情页的方式
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (三)终结任务
  • (译) 函数式 JS #1:简介
  • (转载)PyTorch代码规范最佳实践和样式指南
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .libPaths()设置包加载目录