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() 就可以了。

出处:https://www.cnblogs.com/MaxWoods/archive/2011/10/11/2207525.html

DevExpress的DateEdit控件正确显示日期的周名称的更多相关文章

  1. DevExpress 中 DateEdit 控件 格式化显示和编辑的日期格式为: yyyy-MM-dd

    摘自: http://blog.sina.com.cn/s/blog_76b5256c0100zkwk.html 1需要显示的日期为2012年3月12日需要如下设置 Properties-Mask-E ...

  2. 修改Devexpress DateEdit控件默认的日期格式和日历风格

    最近项目中很多地方使用到DevExpress的DateEdit控件,而且设置都是一致(日期格式.选择日期的日历的风格等).每一次都需要设置太痛苦,因此需要寻找一种高效的解决方式. 一. 设置好一个作为 ...

  3. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  4. Devexpress的DateEdit控件中DateTime与EditValue异同

    相同: 两者值相同,改变一个值都会引起另一个值做出相应改变. 不同: 1:在界面上对控件的编辑框进行操作时,EditValueChanged事件先响应,DateTimeChanged事件后响应. 2: ...

  5. js 日期控件 可以显示为和历

    日期控件的js <!-- /** * Calendar * @param beginYear 1990 * @param endYear 2010 * @param language 0(zh_ ...

  6. Devexpress DateEdit控件的值不反馈到数据源的处理方式。

    如果在GridControl中要把编辑的值反馈到数据源,可以用Gridview1.PostEdit()方法. 可是在datalayout中使用就会遇到一些问题:比如说DateEdit控件,在保存数据的 ...

  7. DevExpress之时间控件

    dateEdit和timeEdit 基本属性 DisplayFormat.FormatString-------失去焦点是控件显示的格式,timeEdit用不上 EditMask----------- ...

  8. DevExpress Winform 常用控件

    Ø  前言 DevExpress 控件的功能比较强大,是全球知名控件开发公司,对于开发 B/S 或 C/S 都非常出色,可以实现很炫且功能强大的效果. DevExpress Winform 常用控件是 ...

  9. DevExpress主要常用控件

    DevExpress主要常用控件说明:1. TestEdit: 一个单行文本编辑器. 常用属性:Name:该控件的名称.Text:该控件中的内容.Enabled:该控件是否激活. Visible:控件 ...

随机推荐

  1. java中Calendar类

    1.测试代码: package com; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util. ...

  2. 实力封装:Unity打包AssetBundle(三)

    前情提要:第二种打包方式 窗口初现 通过前面的两篇教程和一篇番外,我们已经完全实现了打包的功能.但是使用起来总是觉得有些晦涩别扭,如果不告诉别人怎么使用,对方肯定是一头雾水. What?你给我的这是啥 ...

  3. MVC4.0实现批量删除

    HTML: @using(Html.BeginForm("Delete","Home")){    <div>    <input type= ...

  4. 2019-04-04-day026-模块和包的导入

    课前 估分 重新做题 思考为什么 积累问题 提前了解你的情况 40分以下 选课系统 按照反射那个版本 把反射的逻辑看明白 接着把逻辑填完整 用上pickle logging写日志 进阶 : 用软件开发 ...

  5. date简述

    Date 定义时间和日期的类   java.util.Date 1s=1000ms; 时间的原点:公元1970年1月1日 00点00分00秒: public class DateDemo { publ ...

  6. PAT 乙级 1066. 图像过滤(15)

    图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来.现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换. 输入格式: 输入在第一行给出一幅图像的分辨 ...

  7. 【Python】混合驱动实例

    keywords2.txt: get||ie||{urls.txt} get||chrome||http://www.iciba.com main.py: from selenium import w ...

  8. 【Python】进程间共享实例

    #练习:进程间共享实例 import time,os import random from multiprocessing import Pool,Value,Lock,Manager from mu ...

  9. Dubbo浅谈

    一.高并发的解决 1.高并发:很多人同时访问. 2.高并发产生的性能瓶颈: tomcat支持的controller,解决办法:多个tomcat共同支撑.(tomcat集群) 只有一个service被调 ...

  10. 单臂路由实现VLAN间通信

    实验要求:利用路由器完成同vlan能通信,不同vlan也能通信 拓扑如下: 涉及内容有: 1.VTP的创建和配置 2.VLAN的创建和划分 3.路由器的单臂路由配置 配置如下: route1 enab ...