Devexpress MVC DateEdit 设置默认的Time
当用户没有选择日期的时候, 默认显示当前的时间给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的更多相关文章
- DevExpress的DateEdit设置显示日期和时间
1. 设置Mask.EditMask和DisplayFormat,EditFormat属性.设置为一致:'yyyy-MM-dd HH:mm'; //依照想要的显示格式设置此字符串. [csharp] ...
- MVC下设置默认页为index.html
将RouteConfig代码修改为如下 public class RouteConfig { public static void RegisterRoutes(RouteCollection rou ...
- .NET MVC项目设置包含Areas中的页面为默认启动页
利用vs创建一个MVC项目后,一般的默认启动页是根目录下-->Controllers-->HomeController-->Index这个方法对应的页面. 我先说下创建Areas的流 ...
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
C#编译器优化那点事 使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码 ...
- [saiku] 简化/汉化/设置默认页
上一篇分析了schema文件 [ http://www.cnblogs.com/avivaye/p/4877832.html] 在安装完毕Saiku后,由于是社区版本,所以界面上存在很多升级为商业版的 ...
- MVC4.0 如何设置默认静态首页index.shtml
1.不启用二级域名情况下(www.xxx.com)下设置默认静态首页index.shtml 通过配置IIS的默认文档,设置默认首页地址 然后在MVC的路由中写入忽略默认路由代码 routes.Igno ...
- DevExpress的DateEdit控件正确显示日期的周名称
DevExpress 的控件相当好看而且很好用,但 DateEdit 在是显示周名时,只能显示一个“星”字. 以下是解决方法,此解决方法不需修改其源码,所以免去了重新编译的必要,可直接使用其发布的标准 ...
- 玩转控件:重绘DEVEXPRESS中DateEdit控件 —— 让DateEdit支持只选择年月 (提供源码下载)
前言 上一篇博文<玩转控件:重绘ComboBox —— 让ComboBox多列显示>中,根据大家的回馈,ComboBox已经支持筛选了,更新见博文最后最后最后面. 奇葩 这两天遇到 ...
- DevExpress 利用DateEdit 仅显示和选择年份 z
DevExpress只提供了选择月份的控件MonthEdit,并没提供选择选择年份的控件,目测是官方偷懒不想弄,因为要实现的方法也很简单,利用ComboBoxEdit添加年份数据即可,直接封装一个控件 ...
随机推荐
- python,pycharm环境安装
1.1 python3安装四部曲 第一步下载 地址 https://www.python.org/downloads/windows/ 第二步安装 1. 第三步 配置坏境变量 第四步 测试是否完成安装 ...
- React中富文本编辑器的技术选型调研
前言 富文本编辑器是项目中不可或缺的部分,目前市面上可以选择的富文本编辑器种类繁多,如何在项目中选择一款集轻量,美观,稳定,坑少,满足需求的富文本编辑器变成了团队中一个重要的问题. 现在项目中使用的是 ...
- 细说vue axios登录请求拦截器
当我们在做接口请求时,比如判断登录超时时候,通常是接口返回一个特定的错误码,那如果我们每个接口都去判断一个耗时耗力,这个时候我们可以用拦截器去进行统一的http请求拦截. 1.安装配置axios cn ...
- 使用Idea部署SSM项目后,访问路径为url:8080/项目名_war_exploded的解决方案
在tomcat配置页的Deployment下,修改Application context为/,即可直接使用url:8080访问项目主页.
- P1398 [NOI2013]书法家
传送门 就是个普及组 $dp$ 合集,把 $NOI$ 从左到右拆成 $9$ 个部分,每个部分都可以分别 $dp$ 除了 $N$ 的中间部分比较恶心以外其他都还好,自己推一下然后就知道转移,就 $N$ ...
- [.net core]8.中间件的概念
假设我们的中间件是这样的(可以自由排列, 扩展自定义中间件) logging负责记录请求/响应 staticFiles 负责响应 静态文件 MVC 负责响应 视图 当.net core web app ...
- git ssh 绑定 GitLab
入职新公司之后,需要使用GitLab,可是我不会啊,又不想麻烦运维大佬,所以自己找乐一下,发现网上都是些很陈旧的教程,所以准备自己记录下来 第一步 设置Git端上的用户名和用户邮箱: 假如入你已经安装 ...
- Linux下安装升级python
本文主要是参考帖子,感谢这位博主,我主要是对相关操作进行补充和说明. 本文主要是在linux(centos)下安装Python3.7.1 1.下载安装Python-3.7.1 1) 下载Python- ...
- Big Data(八)MapReduce的搭建和初步使用
---恢复内容开始--- 回顾: 1.最终开发MR的计算程序 2.hadoop 2.x 出现了一个yarn:资源管理>>MR没有后台场服务 yarn模型:container 容器,里面会运 ...
- source insight支持查看makefile、kconfig以及.s代码方法
在用sourceinsight查看linux内核源码的时候,大家会发现不能查看源码中的makefile和kconfig代码,即不能搜索到makefile和kconfig文件.这是因为source in ...