zoukankan      html  css  js  c++  java
  • 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();
    };
    

      




      

  • 相关阅读:
    MySQL中TIMESTAMP和DATETIME区别
    图片标签的alt与title区别
    DEDE自带的采集功能,标题太短的解决方法
    Modernizr——为HTML5和CSS3而生!
    InnoDB,MyISAM,Memory区别
    Innodb,MyIsam,聚集索引和非聚集索引
    聚集索引与非聚集索引的总结
    程序kill -9与kill -15的区别,以及回调函数的作用
    linux 信号 SIGINT SIGTERM SIGKILL区别
    oracle mysql sqlserver 查看当前所有数据库及数据库基本操作命令
  • 原文地址:https://www.cnblogs.com/hesijian/p/9817460.html
Copyright © 2011-2022 走看看