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)); }