zoukankan      html  css  js  c++  java
  • 如何让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() 就可以了。

  • 相关阅读:
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业*
    #**第八周作业+预习作业**
    第七周作业
    Linux 日志查看常用命令
    Linux tar命令
    Java 数组
    设计模式 观察者模式(Observer)
  • 原文地址:https://www.cnblogs.com/MaxWoods/p/2207525.html
Copyright © 2011-2022 走看看