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);
        }
Exemple #2
0
 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();
 }
Exemple #4
0
 void ViewColumn.IViewColumn.SetColumn(ViewColumn vc, Database.Column col)
 {
     this.vc    = vc;
     column     = (Database.ColumnTyped <DataT>)col;
     m_rowIndex = null;
 }