首页 > 开发 > 综合 > 正文

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

2024-07-21 02:22:46
字体:
来源:转载
供稿:网友
 

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


  • 本文来源于网页设计爱好者web开发社区http://www.html.org.cn收集整理,欢迎访问。
  • 发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表