private void InitializeFromGroupCollection(Database.Column col, long sourceColToGroup)
        {
            //create groups
            long groupCount = m_GroupCollection.GetGroupCount();

            m_Groups = new Group[groupCount];

            for (long i = 0; i < groupCount; ++i)
            {
                m_Groups[i] = new Group(m_GroupCollection.GetGroup(i).GetIndices(m_GroupCollection));
            }


            //create columns
            m_Columns = new System.Collections.Generic.List <Column>(m_Meta.GetColumnCount());
            for (int i = 0; i != m_Meta.GetColumnCount(); ++i)
            {
                var            metaCol = m_Meta.GetColumnByIndex(i);
                IGroupedColumn newCol  = (IGroupedColumn)ColumnCreator.CreateColumn(typeof(GroupedColumnTyped <>), metaCol.Type);

                newCol.Initialize(this, m_table.GetColumnByIndex(i), i, metaCol.DefaultMergeAlgorithm, i == sourceColToGroup);
                m_Columns.Add((Column)newCol);
            }
            InitGroup(groupCount);
        }
Esempio n. 2
0
        protected void CreateColumn()
        {
            m_Columns = new System.Collections.Generic.List <Column>(m_Meta.GetColumnCount());
            for (int i = 0; i != m_Meta.GetColumnCount(); ++i)
            {
                var            metaCol = m_Meta.GetColumnByIndex(i);
                IIndexedColumn newCol  = (IIndexedColumn)ColumnCreator.CreateColumn(typeof(IndexedColumnTyped <>), metaCol.Type);

                newCol.Initialize(this, m_SourceTable.GetColumnByIndex(i));
                m_Columns.Add((Column)newCol);
            }
        }
Esempio n. 3
0
 protected void CreateColumn()
 {
     m_Columns = new System.Collections.Generic.List <Column>(m_Meta.GetColumnCount());
     m_Columns.Add(new DiffColumnResult(this));
     for (int i = 1; i != m_Meta.GetColumnCount(); ++i)
     {
         var         metaCol = m_Meta.GetColumnByIndex(i);
         IDiffColumn newCol  = (IDiffColumn)ColumnCreator.CreateColumn(typeof(DiffColumnTyped <>), metaCol.Type);
         Column[]    c       = new Column[sourceTables.Length];
         for (int j = 0; j < sourceTables.Length; ++j)
         {
             c[j] = sourceTables[j].GetColumnByIndex(i - 1);
         }
         newCol.Initialize(this, c);
         m_Columns.Add((Column)newCol);
     }
 }