Exemplo n.º 1
0
        /// <inheritdoc/>
        internal override void SetToRowTableDomain(int column, IList <long> rowSet, ITable ancestor)
        {
            if (ancestor == this)
            {
                return;
            }

            int   tableNum    = columnTable[column];
            Table parentTable = referenceList[tableNum];

            // Resolve the rows into the parents indices.  (MANGLES row_set)
            ResolveAllRowsForTableAt(rowSet, tableNum);

            parentTable.SetToRowTableDomain(columnFilter[column], rowSet, ancestor);
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        internal override void SetToRowTableDomain(int column, IList <long> rowSet, ITable ancestor)
        {
            if (ancestor == this)
            {
                return;
            }

            int   tableNum    = vtTableInfo.IndexOfTable(column);
            Table parentTable = referenceList[tableNum];

            // Resolve the rows into the parents indices.  (MANGLES row_set)
            ResolveAllRowsForTableAt(rowSet, tableNum);

            parentTable.SetToRowTableDomain(vtTableInfo.AdjustColumnOffset(column), rowSet, ancestor);
        }
Exemplo n.º 3
0
        public static IList <long> OrdereddRows(this ITable table, int[] columns)
        {
            Table work = (Table)table.OrderBy(columns);

            // 'work' is now sorted by the columns,
            // Get the rows in this tables domain,
            long               rowCount = table.RowCount;
            List <long>        rowList  = new List <long>((int)rowCount);
            IEnumerator <long> e        = work.GetRowEnumerator();

            while (e.MoveNext())
            {
                rowList.Add(e.Current);
            }

            work.SetToRowTableDomain(0, rowList, table);
            return(rowList);
        }