新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:如何让DevExpress的DateEdit控件正确显示日期的周名

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

新客网 XKER.COM 2005-09-21 来源: 收藏本文
 

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


收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐