Exemple #1
0
 public override string Render()
 {
     if (Visiable)
     {
         if (!this.Value.IsNullOrEmpty())
         {
             string[] timeRangeArr = this.Value.Split(',');
             DefaultStartValue = timeRangeArr[0];
             if (timeRangeArr.Length > 1)
             {
                 DefaultEndValue = timeRangeArr[1];
             }
         }
         if (Name.IsNullOrEmpty())
         {
             Name = Id;
         }
         if (!DefaultStartValue.IsNullOrEmpty())
         {
             DefaultStartValue = Env.Parse(DefaultStartValue);
         }
         if (!DefaultEndValue.IsNullOrEmpty())
         {
             DefaultEndValue = Env.Parse(DefaultEndValue);
         }
         DatePicker sdt = new DatePicker()
         {
             Value = DefaultStartValue, ShowPreNextButton = false, CssClass = this.CssClass, DateTimeFormat = this.DateTimeFormat, GreaterThanToday = this.GreaterThanToday, Maximum = this.Maximum, Minimum = this.Minimum, ShowWeek = this.ShowWeek, Id = NamingCenter.GetTimeRangeDatePickerStartId(this.Name), Name = NamingCenter.GetTimeRangeDatePickerStartId(this.Name), MaxDateControl = NamingCenter.GetTimeRangeDatePickerEndId(this.Name)
         };
         DatePicker edt = new DatePicker()
         {
             Value = DefaultEndValue, ShowPreNextButton = false, CssClass = this.CssClass, DateTimeFormat = this.DateTimeFormat, GreaterThanToday = this.GreaterThanToday, Maximum = this.Maximum, Minimum = this.Minimum, ShowWeek = this.ShowWeek, Id = NamingCenter.GetTimeRangeDatePickerEndId(this.Name), Name = NamingCenter.GetTimeRangeDatePickerEndId(this.Name), MinDateControl = NamingCenter.GetTimeRangeDatePickerStartId(this.Name)
         };
         string result = "<label>从&nbsp;</label>{0}<label>&nbsp;到&nbsp;</label>{1}".FormatTo(sdt.Render(), edt.Render());
         return(ContainerTemplate.FormatTo(Id, Label, result, Description));
     }
     return(string.Empty);
 }
Exemple #2
0
 public void SetTarget(IList <IControl> components)
 {
     if (!Fields.IsNullOrEmpty())
     {
         var    formData = new FoxOneDictionary <string, object>(StringComparer.OrdinalIgnoreCase);
         string key      = string.Empty;
         var    request  = HttpContext.Current.Request;
         foreach (var f in Fields)
         {
             if (f is TimeRangePicker)
             {
                 //日期范围控件特殊处理
                 var dt = f as TimeRangePicker;
                 if (!dt.DefaultStartValue.IsNullOrEmpty())
                 {
                     formData.Add(NamingCenter.GetTimeRangeDatePickerStartId(dt.Name), DateTime.Parse(Env.Parse(dt.DefaultStartValue)).ToString(dt.DateTimeFormat));
                 }
                 if (!dt.DefaultEndValue.IsNullOrEmpty())
                 {
                     formData.Add(NamingCenter.GetTimeRangeDatePickerEndId(dt.Name), DateTime.Parse(Env.Parse(dt.DefaultEndValue)).ToString(dt.DateTimeFormat));
                 }
             }
             else if (f is DatePicker)
             {
                 if (!f.Value.IsNullOrEmpty())
                 {
                     key = f.Name.IsNullOrEmpty() ? f.Id : f.Name;
                     var d = f as DatePicker;
                     formData.Add(key, DateTime.Parse(Env.Parse(f.Value)).ToString(d.DateTimeFormat));
                 }
             }
             else
             {
                 if (!f.Value.IsNullOrEmpty())
                 {
                     key = f.Name.IsNullOrEmpty() ? f.Id : f.Name;
                     if (!request.Form.AllKeys.Contains(key) && !request.QueryString.AllKeys.Contains(key))
                     {
                         formData.Add(key, Env.Parse(f.Value));
                     }
                 }
             }
         }
         foreach (var c in components)
         {
             if (c is IListDataSourceControl)
             {
                 var ds = (c as IListDataSourceControl).DataSource;
                 if (ds != null)
                 {
                     if (ds.Parameter == null)
                     {
                         ds.Parameter = formData;
                     }
                     else
                     {
                         var dict = ds.Parameter as Dictionary <string, object>;
                         foreach (var f in formData.Keys)
                         {
                             dict[f] = formData[f];
                         }
                     }
                 }
             }
         }
     }
 }