当用户没有选择日期的时候, 默认显示当前的时间给TimeEdit. 只有当用户选了日期后, 才会把时间带进去.

效果图:

实现

C# Helper Code

        public static Action<DateEditSettings> DevDateTimeEdit(bool ab_Search, string as_Name, DateTime? adt_Date, bool ab_IsEnable, int ai_Width, int ai_Height, string as_DisplayFormatString = "", string as_DropDownEvent = "", string as_CloseUpEvent = "")
{
Action<DateEditSettings> DateEditSettings = (DateEditSetting =>
{
DateEditSetting.Name = as_Name;
DateEditSetting.Style.Add("float", "Left");
DateEditSetting.Date = Convert.ToDateTime(adt_Date);
DateEditSetting.ControlStyle.Border.BorderColor = System.Drawing.Color.LightGray;
DateEditSetting.Width = Unit.Percentage(ai_Width);
if (ab_IsEnable)
{
if (ab_Search)
{
DateEditSetting.ControlStyle.BackColor = GetColor.WhiteColor;
}
else
{
DateEditSetting.ControlStyle.BackColor = GetColor.EditableColor;
}
}
DateEditSetting.Properties.AllowNull = true; DateEditSetting.Properties.ConvertEmptyStringToNull = true;
DateEditSetting.Properties.NullText = string.Empty;
DateEditSetting.Height = System.Web.UI.WebControls.Unit.Pixel(ai_Height);
DateEditSetting.ControlStyle.CssClass = "form-control dx-dropdown";
DateEditSetting.Properties.EditFormat = EditFormat.Custom;
DateEditSetting.Properties.EditFormatString = as_DisplayFormatString;
DateEditSetting.Properties.ClientInstanceName = as_Name;
DateEditSetting.Enabled = ab_IsEnable;
DateEditSetting.Properties.NullText = "";
DateEditSetting.Properties.UseMaskBehavior = true;
DateEditSetting.Properties.TimeSectionProperties.Visible = true;
DateEditSetting.Properties.TimeSectionProperties.TimeEditProperties.EditFormat = EditFormat.Custom;
DateEditSetting.Properties.TimeSectionProperties.ShowHourHand = true;
DateEditSetting.Properties.TimeSectionProperties.TimeEditProperties.EditFormatString = "HH:mm:ss";
DateEditSetting.Properties.CalendarProperties.FastNavProperties.EnablePopupAnimation = true;
         // 这两个event是关键
DateEditSetting.Properties.ClientSideEvents.DropDown = as_DropDownEvent;
DateEditSetting.Properties.ClientSideEvents.CloseUp = as_CloseUpEvent;
});
return DateEditSettings;
}

  

CardView partial View, 当然你也可以直接在页面里面进行调用helper, 或者把Helper的code写到页面

  settings.Columns.Add(column =>
{
column.FieldName = "RecDate";
column.SetEditItemTemplateContent(Template =>
{
Html.DevExpress().Label(Utils.DevLabel("lbl" + ls_PanelName + "RecDate", "Act. Rec. Date", 20, 34, ":")).Render();
Html.DevExpress().DateEdit(Utils.DevDateTimeEdit(false, "dps" + ls_PanelName + "RecDate", DataBinder.Eval(Template.DataItem, "RecDate") as DateTime?, true, 44, 34, Utils.GetFormatString.DateTimeEdit,as_DropDownEvent:"ActRec_DropDown",as_CloseUpEvent:"ActRec_CloseUp")).Render();
});
}); //EstRecDate settings.EditFormLayoutProperties.Items.Add(i =>
{
i.ColumnName = "RecDate";
i.Width = Unit.Percentage(50);
i.ShowCaption = DefaultBoolean.False;
i.ColSpan = 2;
//i.ClientVisible = false;
});

  

Index  Javascript function

    //Display Calendar event.
  function ActRec_DropDown(s,e)
{
    //if user have not selected date, then set current time to it.
if(s.GetValue()==null)
{
s.GetTimeEdit().SetValue(new Date())
}
}
//Hide Calendar panel event.
function ActRec_CloseUp(s,e)
{
//Valid if user have not selected date, then set null to DateEdit. because DateEdit default date is "100/01/01", so we will add the cause.
if(s.GetValue()==null||yyyy_MM_dd(s.GetValue(),'/')=="100/01/01")
{
s.GetTimeEdit().SetValue(null);
s.SetValue(null);
}
}
function yyyy_MM_dd(ad_Date, as_Delimiter) {
var ls_Year = ad_Date.getFullYear(),
ls_Month = ad_Date.getMonth() + 1, // months are zero indexed
ls_Day = ad_Date.getDate();
var ls_MonthFormatted = ls_Month < 10 ? "0" + ls_Month : ls_Month,
ls_DayFormatted = ls_Day < 10 ? "0" + ls_Day : ls_Day;
return ls_Year.toString() + as_Delimiter + ls_MonthFormatted.toString() + as_Delimiter + ls_DayFormatted.toString();
};

  



  

Devexpress MVC DateEdit 设置默认的Time的更多相关文章

  1. DevExpress的DateEdit设置显示日期和时间

    1. 设置Mask.EditMask和DisplayFormat,EditFormat属性.设置为一致:'yyyy-MM-dd HH:mm';  //依照想要的显示格式设置此字符串. [csharp] ...

  2. MVC下设置默认页为index.html

    将RouteConfig代码修改为如下 public class RouteConfig { public static void RegisterRoutes(RouteCollection rou ...

  3. .NET MVC项目设置包含Areas中的页面为默认启动页

    利用vs创建一个MVC项目后,一般的默认启动页是根目录下-->Controllers-->HomeController-->Index这个方法对应的页面. 我先说下创建Areas的流 ...

  4. C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理

    C#编译器优化那点事   使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码 ...

  5. [saiku] 简化/汉化/设置默认页

    上一篇分析了schema文件 [ http://www.cnblogs.com/avivaye/p/4877832.html] 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的 ...

  6. MVC4.0 如何设置默认静态首页index.shtml

    1.不启用二级域名情况下(www.xxx.com)下设置默认静态首页index.shtml 通过配置IIS的默认文档,设置默认首页地址 然后在MVC的路由中写入忽略默认路由代码 routes.Igno ...

  7. DevExpress的DateEdit控件正确显示日期的周名称

    DevExpress 的控件相当好看而且很好用,但 DateEdit 在是显示周名时,只能显示一个“星”字. 以下是解决方法,此解决方法不需修改其源码,所以免去了重新编译的必要,可直接使用其发布的标准 ...

  8. 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)

      前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面.   奇葩 这两天遇到 ...

  9. DevExpress 利用DateEdit 仅显示和选择年份 z

    DevExpress只提供了选择月份的控件MonthEdit,并没提供选择选择年份的控件,目测是官方偷懒不想弄,因为要实现的方法也很简单,利用ComboBoxEdit添加年份数据即可,直接封装一个控件 ...

随机推荐

  1. Linux文件目录的权限

    权限对文件的重要性:(主要是针对文件的内容而言,与文件名没有关系) r: 可读取此文件的实际内容. w: 可以编辑.新增或者修改该文件的内容(但不能删除该文件) x: 该文件具有可以被系统执行的权限. ...

  2. [ASP.NET] 前台代码绑定后台变量方法总结 [转]

    原文链接:https://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般 ...

  3. Redis配置主从时报错“Could not connect to Redis at 192.168.0.50:6379: Connection refused not connected>”

    配置Redis主从时,修改完从节点配置文件,然后报错 [root@Rich七哥-0-50 redis]# /opt/redis/redis-cli -h 192.168.0.50 Could not ...

  4. mybatis+mysql 返回主键

    需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法:在mapper中指定keyProperty属性,示例如下: <insert id="i ...

  5. Java static基本认知

    一. static的用途 在Java编程思想中有这么一句话:“static方法就是没有this的方法.在static方法内部不能调用非静态方法,反过来是可以的.而且可以在没有创建任何对象的前提下,仅仅 ...

  6. CF 1140B Good String

    Description You have a string ss of length nn consisting of only characters > and <. You may d ...

  7. 利用pcl数据结构,实现RegionGrowing的复现

    这篇博客是pcl中区域增长的算法进行简介以实现重写,并添加了一些判断条件. 起初原因是在使用pcl封装的regionGrowing时,效果不太好. 于是想自己重新写一下,通过改变其中种子点的生成策略和 ...

  8. Linux目录机构及目录管理

    Linux的目录结构与目录管理 Linux目录结构: 1 目录创建规则 FHS 文件系统层次化标准 指定Linux操作系统哪些目录必须具备 /boot /bin /sbin /etc /sys /pr ...

  9. java hashmap&concurrentHashmap源理

    Java集合:HashMap底层实现和原理(源码解析) https://www.cnblogs.com/java-jun-world2099/p/9258605.html HashMap源码解析JDK ...

  10. doT学习(二)之用法集合

    Advanced templating: illustrates defines and includes. Include external snippet defined in a variabl ...