private DateTimePicker CloneDateTimePicker(DateTimePicker dtpOriginal) { var newdtp = (DateTimePicker)Activator.CreateInstance(dtpOriginal.GetType()); newdtp.AutoSize = dtpOriginal.AutoSize; newdtp.Format = dtpOriginal.Format; this.flowLayoutPanel.SetFillWeight(newdtp, 1); return(newdtp); }
private void GeneratedControlByPropertyInfo(PropertyInfo property) { Type propertyType = property.PropertyType; if (propertyType == typeof(Guid)) { return; } DataMemberAttribute dataMember = property.GetCustomAttributes(typeof(DataMemberAttribute), false) .FirstOrDefault() as DataMemberAttribute; if (dataMember == null) { return; } NotMappedAttribute notMapped = property.GetCustomAttributes(typeof(NotMappedAttribute), false) .FirstOrDefault() as NotMappedAttribute; if (notMapped != null) { return; } DisplayNameAttribute display = property.GetCustomAttributes(typeof(DisplayNameAttribute), false) .FirstOrDefault() as DisplayNameAttribute; MaxLengthAttribute maxLength = property.GetCustomAttributes(typeof(MaxLengthAttribute), false) .FirstOrDefault() as MaxLengthAttribute; if (display == null) { return; } //标签处理 Label label = new Label(); label.Width = EditControlWidth / 2; label.Name = label.GetType().Name + property.Name; label.Text = display.DisplayName + ":"; label.TextAlign = ContentAlignment.MiddleCenter; EditControls.Add(label); if (propertyType == typeof(string)) { //字符串 TextBox textBox = new TextBox(); textBox.Name = textBox.GetType().Name + property.Name; textBox.Width = EditControlWidth; //处理长度 if (maxLength == null) { textBox.MaxLength = 32; } else { textBox.MaxLength = maxLength.Length / 2; } EditControls.Add(textBox); } //日期 else if (propertyType == typeof(DateTime)) { DateTimePicker dateTimePicker = new DateTimePicker(); dateTimePicker.Name = dateTimePicker.GetType().Name + property.Name; dateTimePicker.Value = DateTime.Now; dateTimePicker.Width = EditControlWidth; dateTimePicker.MaxDate = DateTime.Now.AddYears(100); dateTimePicker.MinDate = DateTime.Now.AddYears(-100); EditControls.Add(dateTimePicker); } }
protected void Page_Load(object sender, EventArgs e) { DateTimePicker picker = this; ScriptManager.RegisterClientScriptBlock(picker, picker.GetType(), "message", "<script type=\"text/javascript\" language=\"javascript\">getDateTimePicker();</script>", false); }