public override object ParseFormattedValue(object formattedValue, DataGridViewCellStyle cellStyle, System.ComponentModel.TypeConverter formattedValueTypeConverter, System.ComponentModel.TypeConverter valueTypeConverter)
        {
            object aresult = null;
            ObjectInspectorCellType celltype = (ObjectInspectorCellType)GetColumnValue("TYPEENUM");

            switch (celltype)
            {
            case ObjectInspectorCellType.DropDownList:
            case ObjectInspectorCellType.DropDown:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    Strings list  = (Strings)GetColumnValue("VALUELIST");
                    int     index = list.IndexOf(formattedValue.ToString());
                    if (index < 0)
                    {
                        index = 0;
                    }
                    aresult = index;
                }
                break;

            case ObjectInspectorCellType.Text:
            case ObjectInspectorCellType.Expression:
                aresult = formattedValue.ToString();
                break;

            case ObjectInspectorCellType.Color:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    aresult = GraphicUtils.IntegerFromColor((Color)formattedValue);
                }
                break;

            case ObjectInspectorCellType.Image:
                if (formattedValue is Variant)
                {
                    Variant imvar = (Variant)formattedValue;
                    if (imvar.VarType == VariantType.Binary)
                    {
                        System.IO.MemoryStream nstream = ((Variant)formattedValue).GetStream();
                        aresult = StringUtil.GetSizeAsString(nstream.Length);
                    }
                    else
                    {
                        aresult = formattedValue;
                    }
                }
                else
                {
                    aresult = "";
                }

                break;

            case ObjectInspectorCellType.FontName:
                aresult = formattedValue.ToString();
                break;

            case ObjectInspectorCellType.FontStyle:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    aresult = GraphicUtils.IntegerFromStringFontStyle(formattedValue.ToString());
                }
                break;

            case ObjectInspectorCellType.Decimal:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    aresult = System.Convert.ToDecimal(formattedValue);
                }
                break;

            case ObjectInspectorCellType.Boolean:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    aresult = System.Convert.ToBoolean(formattedValue);
                }
                break;

            case ObjectInspectorCellType.Integer:
                if (formattedValue.ToString().Length == 0)
                {
                    aresult = DBNull.Value;
                }
                else
                {
                    aresult = (int)Math.Round(System.Convert.ToDecimal(formattedValue));
                }
                break;
            }
            if (aresult == null)
            {
                aresult = base.ParseFormattedValue(formattedValue, cellStyle, formattedValueTypeConverter, valueTypeConverter);
            }
            return(aresult);
        }