예제 #1
0
        private void PRegisterDataTable(DataTable table, string referenceName, bool enabled)
        {
            dictionary.AddRegisteredItem(table, referenceName);

            TableDataSource source = FindDataComponent(referenceName) as TableDataSource;

            if (source != null)
            {
                source.Reference = table;
                source.InitSchema();
                source.RefreshColumns(true);
                AddBaseWithChiledToDictonary(source);
            }
            else
            {
                // check tables inside connections. Are we trying to replace the connection table
                // with table provided by an application?
                source = FindByAlias(referenceName) as TableDataSource;
                // check "Data.TableName" case
                if (source == null && referenceName.StartsWith("Data."))
                {
                    source = FindByAlias(referenceName.Remove(0, 5)) as TableDataSource;
                }
                if (source != null && (source.Connection != null || source.IgnoreConnection))
                {
                    source.IgnoreConnection = true;
                    source.Reference        = table;
                    source.InitSchema();
                    source.RefreshColumns(true);
                    AddBaseWithChiledToDictonary(source);
                }
                else
                {
                    source = new TableDataSource();
                    source.ReferenceName = referenceName;
                    source.Reference     = table;
                    source.Name          = CreateUniqueName(referenceName.Contains(".") ? table.TableName : referenceName);
                    source.Alias         = CreateUniqueAlias(source.Alias);
                    source.Enabled       = enabled;
                    source.InitSchema();
                    dictionary.DataSources.Add(source);
                    AddBaseWithChiledToDictonary(source);
                }
            }
        }
예제 #2
0
        internal void RegisterDataTable(DataTable table, string referenceName, bool enabled)
        {
            AddRegisteredItem(table, referenceName);

            TableDataSource source = FindDataComponent(referenceName) as TableDataSource;

            if (source != null)
            {
                source.Reference = table;
                source.InitSchema();
                source.RefreshColumns(true);
            }
            else
            {
                // check tables inside connections. Are we trying to replace the connection table
                // with table provided by an application?
                source = FindByAlias(referenceName) as TableDataSource;
                if (source != null && (source.Connection != null || source.IgnoreConnection))
                {
                    source.IgnoreConnection = true;
                    source.Reference        = table;
                    source.InitSchema();
                    source.RefreshColumns(true);
                }
                else
                {
                    source = new TableDataSource();
                    source.ReferenceName = referenceName;
                    source.Reference     = table;
                    source.Name          = CreateUniqueName(referenceName.Contains(".") ? table.TableName : referenceName);
                    source.Alias         = CreateUniqueAlias(source.Alias);
                    source.Enabled       = enabled;
                    source.InitSchema();
                    DataSources.Add(source);
                }
            }
        }