public override object Clone()
        {
            DataGridViewForzenColumn column1 = (DataGridViewForzenColumn)base.Clone();

            column1.IsAutoValue        = this.IsAutoValue;
            column1.ForzenColumnLength = this.ForzenColumnLength;
            column1.CellTemplate       = new DataGridViewForzenCell();
            return(column1);
        }
 protected override object GetFormattedValue(object value, int rowIndex, ref DataGridViewCellStyle cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context)
 {
     if (this.DataGridView != null && this.ColumnIndex >= 0)
     {
         if (this.DataGridView.Columns[this.ColumnIndex] is DataGridViewForzenColumn)
         {
             DataGridViewForzenColumn ForzenColumn = this.DataGridView.Columns[this.ColumnIndex] as DataGridViewForzenColumn;
             if (ForzenColumn.IsAutoValue)
             {
                 int NextValue = 1;
                 if (rowIndex > 0)
                 {
                     NextValue = TryParse.StrToInt(this.DataGridView[this.ColumnIndex, rowIndex - 1].FormattedValue) + 1;
                 }
                 string returnValue = ("000000000" + NextValue);
                 value = returnValue.Substring(returnValue.Length - ForzenColumn.ForzenColumnLength);
                 this.SetValue(rowIndex, value);
             }
         }
     }
     return(base.GetFormattedValue(value, rowIndex, ref cellStyle, valueTypeConverter, formattedValueTypeConverter, context));
 }