protected override void OnRowChanging(DataRowChangeEventArgs e) { if (this.RowEventStack.Any() == true) { if (this.RowEventStack.Peek() == e.Row) { base.OnRowChanging(new InternalDataRowChangeEventArgs(e)); } else { base.OnRowChanging(e); } } else { var row = e.Row as InternalTemplateColumn; switch (e.Action) { case DataRowAction.Add: { if (this.IsLoading == false) { CremaDataSet.ValidateName(row.ColumnName); } if (this.targetTable != null && this.IsDiffMode == false) { InternalDataSet.ValidateSetDataTypeName(this.targetTable.DataSet, row.DataTypeName); } } break; } base.OnRowChanging(e); } }
protected override void OnRowChanging(DataRowChangeEventArgs e) { if (this.RowEventStack.Any() == true) { if (this.RowEventStack.Peek() == e.Row) { base.OnRowChanging(new InternalDataRowChangeEventArgs(e)); } else { base.OnRowChanging(e); } } else { var row = e.Row as InternalTemplateColumn; switch (e.Action) { case DataRowAction.Add: { if (this.IsLoading == false) { CremaDataSet.ValidateName(row.ColumnName); } if (this.targetTable != null && this.IsDiffMode == false) { InternalDataSet.ValidateSetDataTypeName(this.targetTable.DataSet, row.DataTypeName); } if (e.Row is InternalTemplateColumn c && c.TargetColumn == null && this.targetTable != null) { var dataColumn = new InternalDataColumn() { ColumnName = c.ColumnName, IsKey = c.IsKey, Unique = c.Unique, Comment = c.Comment, DefaultValue = c.DefaultValue ?? (object)DBNull.Value, AutoIncrement = c.AutoIncrement, AllowDBNull = c.AllowNull, Tags = c.Tags, ReadOnly = c.ReadOnly, }; this.TargetTable.ValidateAddColumn(dataColumn); } } break; } base.OnRowChanging(e); } }