Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }