DevExpress的DateEdit控件显示日期的周名

分类: asp.net技巧   出处:iocblog整理  更新时间:2008-10-22   添加到收藏  


  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)
    {[iocblog.net 来源]
    }
  
    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() 就可以了。
  
  [iocblog.net 来源]


Tag: DateEdit