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