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); }
void ViewColumn.IViewColumn.SetColumn(ViewColumn vc, Database.Column col) { if (this.vc != null) { throw new InvalidOperationException("Cannot call 'ViewColumn.IViewColumn.SetColumn' once already set"); } this.vc = vc; }
void ViewColumn.IViewColumn.SetColumn(ViewColumn vc, Database.Column col) { m_SourceViewColumn = vc; UpdateCache(); }
void ViewColumn.IViewColumn.SetColumn(ViewColumn vc, Database.Column col) { this.vc = vc; column = (Database.ColumnTyped <DataT>)col; m_rowIndex = null; }