/// <summary>
        ///
        /// </summary>
        /// <param name="value"></param>
        /// <param name="formatInfo"></param>
        /// <param name="gridElement"></param>
        /// <returns></returns>
        protected override string GetTextCore(object value, Xceed.Grid.CellTextFormatInfo formatInfo,
                                              Xceed.Grid.GridElement gridElement)
        {
            if (((value == null) || (value == DBNull.Value)) || value.Equals(formatInfo.NullValue))
            {
                return(formatInfo.NullText);
            }
            IFormatProvider formatProvider  = m_format; // formatInfo.FormatProvider;
            string          formatSpecifier = formatInfo.FormatSpecifier;

            if (string.IsNullOrEmpty(formatSpecifier))
            {
                formatSpecifier = "C"; // "N"
            }

            if (formatProvider != null)
            {
                if (formatSpecifier.Length > 0)
                {
                    return(string.Format(formatProvider, "{0:" + formatSpecifier + "}", new object[] { value }));
                }
                return(string.Format(formatProvider, "{0}", new object[] { value }));
            }
            if (formatSpecifier.Length > 0)
            {
                return(string.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:" + formatSpecifier + "}",
                                     new object[] { value }));
            }
            return(value.ToString());
        }
        /// <summary>
        /// GetTextCore
        /// </summary>
        /// <param name="value"></param>
        /// <param name="formatInfo"></param>
        /// <param name="gridElement"></param>
        /// <returns></returns>
        protected override string GetTextCore(object value, Xceed.Grid.CellTextFormatInfo formatInfo,
                                              Xceed.Grid.GridElement gridElement)
        {
            DateTime minValue;
            DateTime time      = this.GetDate(value, formatInfo, gridElement);
            object   nullValue = formatInfo.NullValue;

            if (nullValue is DateTime)
            {
                minValue = (DateTime)nullValue;
            }
            else
            {
                minValue = DateTime.MinValue;
            }
            if (time == minValue)
            {
                return(formatInfo.NullText);
            }
            string formatSpecifier = formatInfo.FormatSpecifier;

            if (string.IsNullOrEmpty(formatSpecifier))
            {
                formatSpecifier = "d";
            }
            return(time.ToString(formatSpecifier, m_format));
        }
        /// <summary>
        /// GetNumber
        /// </summary>
        /// <param name="dataType"></param>
        /// <param name="value"></param>
        /// <param name="formatInfo"></param>
        /// <param name="gridElement"></param>
        /// <returns></returns>
        protected override object GetNumber(Type dataType, object value, Xceed.Grid.CellTextFormatInfo formatInfo,
                                            Xceed.Grid.GridElement gridElement)
        {
            object nullValue = formatInfo.NullValue;

            if (((value != null) && (value != DBNull.Value)) &&
                (!string.Empty.Equals(value) && !value.Equals(nullValue)))
            {
                return(Convert.ChangeType(value, dataType, m_format));
            }
            return(nullValue);
        }
        /// <summary>
        /// GetDate
        /// </summary>
        /// <param name="value"></param>
        /// <param name="formatInfo"></param>
        /// <param name="gridElement"></param>
        /// <returns></returns>
        protected override DateTime GetDate(object value, Xceed.Grid.CellTextFormatInfo formatInfo,
                                            Xceed.Grid.GridElement gridElement)
        {
            object nullValue = formatInfo.NullValue;

            if (((value != null) && (value != DBNull.Value)) &&
                (!string.Empty.Equals(value) && !value.Equals(nullValue)))
            {
                return(Convert.ToDateTime(value, m_format));
            }
            if (nullValue is DateTime)
            {
                return((DateTime)nullValue);
            }
            return(DateTime.MinValue);
        }