欢迎光临
我们一直在努力

如何让 DevExpress 的 DateEdit 控件正确显示日期的周名-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 如何让 DevExpress 的 DateEdit 控件正确显示日期的周名-.NET教程,Asp.Net开发
分享到: 更多 (0)