/// <summary> /// Sets the text to be displayed in the edit control. /// Depending on the type of the edit control, this sometimes can be /// done in various ways. /// </summary> /// <param name="text">The text to display.</param> private void DisplayEditControlText(string text) { try { TextBox tbInPlaceEditor = activeEditControl as TextBox; if (tbInPlaceEditor != null) { // In-place edit control is a TextBox tbInPlaceEditor.Text = text; tbInPlaceEditor.SelectAll(); return; } ComboBox comboInPlaceEditor = activeEditControl as ComboBox; if (comboInPlaceEditor != null) { // In-place edit control is a ComboBox comboInPlaceEditor.Text = text; return; } DateTimePicker dtp = activeEditControl as DateTimePicker; if (dtp != null) { DateTimeConverter dtc = new DateTimeConverter(); dtp.Value = (DateTime)dtc.ConvertFromInvariantString(text); return; } NumericUpDown nud = activeEditControl as NumericUpDown; if (nud != null) { DecimalConverter dc = new DecimalConverter(); nud.Value = (decimal)dc.ConvertFromInvariantString(text); return; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
/// <internalonly/> /// <devdoc> /// </devdoc> public static object ConvertValue(object value, Type toType, string formatString) { // Workaround for now to handle inability of reflection to deal with Null. if (value == null || Convert.IsDBNull(value)) { return(value); } Type fromType = value.GetType(); if (toType.IsAssignableFrom(fromType)) { return(value); } // for now, just hit the sweet spots. if (typeof(string).IsAssignableFrom(fromType)) { if (typeof(int).IsAssignableFrom(toType)) { return(Convert.ToInt32((string)value, CultureInfo.InvariantCulture)); } else if (typeof(bool).IsAssignableFrom(toType)) { return(Convert.ToBoolean((string)value, CultureInfo.InvariantCulture)); } else if (typeof(DateTime).IsAssignableFrom(toType)) { return(Convert.ToDateTime((string)value, CultureInfo.InvariantCulture)); } else if (typeof(Decimal).IsAssignableFrom(toType)) { TypeConverter tc = new DecimalConverter(); return(tc.ConvertFromInvariantString((string)value)); } else if (typeof(Double).IsAssignableFrom(toType)) { return(Convert.ToDouble((string)value, CultureInfo.InvariantCulture)); } else if (typeof(Int16).IsAssignableFrom(toType)) { return(Convert.ToInt16((Int16)value, CultureInfo.InvariantCulture)); } else { throw new ArgumentException( SR.GetString(SR.Cannot_convert_from_to, fromType.ToString(), toType.ToString())); } } else if (typeof(string).IsAssignableFrom(toType)) { if (typeof(int).IsAssignableFrom(fromType)) { return(((int)value).ToString(formatString, CultureInfo.InvariantCulture)); } else if (typeof(bool).IsAssignableFrom(fromType)) { string [] tokens = null; if (formatString != null) { tokens = formatString.Split(formatSeparator); if (tokens.Length != 2) { tokens = null; } } if ((bool)value) { if (tokens != null) { return(tokens[0]); } else { return("true"); } } else { if (tokens != null) { return(tokens[1]); } else { return("false"); } } } else if (typeof(DateTime).IsAssignableFrom(fromType)) { return(((DateTime)value).ToString(formatString, CultureInfo.InvariantCulture)); } else if (typeof(Decimal).IsAssignableFrom(fromType)) { return(((Decimal)value).ToString(formatString, CultureInfo.InvariantCulture)); } else if (typeof(Double).IsAssignableFrom(fromType)) { return(((Double)value).ToString(formatString, CultureInfo.InvariantCulture)); } else if (typeof(Single).IsAssignableFrom(fromType)) { return(((Single)value).ToString(formatString, CultureInfo.InvariantCulture)); } else if (typeof(Int16).IsAssignableFrom(fromType)) { return(((Int16)value).ToString(formatString, CultureInfo.InvariantCulture)); } else { throw new ArgumentException( SR.GetString(SR.Cannot_convert_from_to, fromType.ToString(), toType.ToString())); } } else { throw new ArgumentException( SR.GetString(SR.Cannot_convert_from_to, fromType.ToString(), toType.ToString())); } }
public static object ConvertValue(object value, Type toType, string formatString) { if ((value == null) || Convert.IsDBNull(value)) { return(value); } Type c = value.GetType(); if (toType.IsAssignableFrom(c)) { return(value); } if (typeof(string).IsAssignableFrom(c)) { if (typeof(int).IsAssignableFrom(toType)) { return(Convert.ToInt32((string)value, CultureInfo.InvariantCulture)); } if (typeof(bool).IsAssignableFrom(toType)) { return(Convert.ToBoolean((string)value, CultureInfo.InvariantCulture)); } if (typeof(DateTime).IsAssignableFrom(toType)) { return(Convert.ToDateTime((string)value, CultureInfo.InvariantCulture)); } if (typeof(decimal).IsAssignableFrom(toType)) { TypeConverter converter = new DecimalConverter(); return(converter.ConvertFromInvariantString((string)value)); } if (typeof(double).IsAssignableFrom(toType)) { return(Convert.ToDouble((string)value, CultureInfo.InvariantCulture)); } if (!typeof(short).IsAssignableFrom(toType)) { throw new ArgumentException(System.Web.SR.GetString("Cannot_convert_from_to", new object[] { c.ToString(), toType.ToString() })); } return(Convert.ToInt16((short)value, CultureInfo.InvariantCulture)); } if (!typeof(string).IsAssignableFrom(toType)) { throw new ArgumentException(System.Web.SR.GetString("Cannot_convert_from_to", new object[] { c.ToString(), toType.ToString() })); } if (typeof(int).IsAssignableFrom(c)) { int num = (int)value; return(num.ToString(formatString, CultureInfo.InvariantCulture)); } if (typeof(bool).IsAssignableFrom(c)) { string[] strArray = null; if (formatString != null) { strArray = formatString.Split(formatSeparator); if (strArray.Length != 2) { strArray = null; } } if ((bool)value) { if (strArray != null) { return(strArray[0]); } return("true"); } if (strArray != null) { return(strArray[1]); } return("false"); } if (typeof(DateTime).IsAssignableFrom(c)) { DateTime time = (DateTime)value; return(time.ToString(formatString, CultureInfo.InvariantCulture)); } if (typeof(decimal).IsAssignableFrom(c)) { decimal num2 = (decimal)value; return(num2.ToString(formatString, CultureInfo.InvariantCulture)); } if (typeof(double).IsAssignableFrom(c)) { double num3 = (double)value; return(num3.ToString(formatString, CultureInfo.InvariantCulture)); } if (typeof(float).IsAssignableFrom(c)) { float num4 = (float)value; return(num4.ToString(formatString, CultureInfo.InvariantCulture)); } if (!typeof(short).IsAssignableFrom(c)) { throw new ArgumentException(System.Web.SR.GetString("Cannot_convert_from_to", new object[] { c.ToString(), toType.ToString() })); } short num5 = (short)value; return(num5.ToString(formatString, CultureInfo.InvariantCulture)); }