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 pymysql对数据库的基础操作
示例数据库名demo,表名info select * from info; 查看该表数据 +----+-------+--------+-----+---------------------+---- ...
- Java学习开发第三阶段总结
第三阶段的学习总结: 在这次学习我学习了面向对象和封装的知识. ①类的定义 package day01; public class student { //成员变量 String name; //姓名 ...
- 零基础学习前端1-1配置node及npm环境变量
零基础学习前端1-1配置node及npm环境变量 ## 1-1配置node及npm环境变量 首先:下载node 可以直接去官方网站下载 1.首先从官网下载安装包 https://nodejs.org/ ...
- python nonlocal 的具体原理
很多文章都大概列了下nonlocal的具体用法,比如看到几篇文章写的 “nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量” 看完以后我感觉自己是懂了,但光从这句话来说还没完全理解它 ...
- git diff 命令用法
理解git diff的前提,首先要理解git中工作区,暂存区,本地版本库的概念,如果头脑中有这些概念,接着往下读. git diff test.c 用来查看工作区和暂存区中test.c文件的区别. g ...
- Vue源码解读-构造函数
src/core/instance/index.js此文件主要实现了Vue初始化 // 引入模块 import { initMixin } from './init' import { stateMi ...
- Centos7 用gogs搭建git仓库
0.安装步骤 先安装依赖,然后创建数据库,创建git用户,安装Gogs软件,设置启动,访问web界面进行配置 一.Gogs依赖环境 安装Gogs之前需要配置相应的依赖环境,官网介绍的依赖环境如下: 数 ...
- Scala学习笔记(3)
数组 ----------------------------------- 0.若长度固定则用Array,若长度可能变化则使用ArrayBuffer 1.提供初始值的时候不要使用new. 2.用() ...
- 剑指offer-7:调整数组顺序使奇数位于偶数前面
一.相对位置可以改变 1.题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分. 2.分析 不考虑相对位置,可以类比快排,用左右 ...
- composer之predis
安装: composer require predis/predis 即可 predis是PHP连接Redis的操作库,由于它完全使用php编写,大量使用命名空间以及闭包等功能,只支持php5 ...