示例#1
0
        /// <inheritdoc/>
        public override DataObject GetValue(int column, long row)
        {
            int   tableNum    = JoinedTableInfo.IndexOfTable(column);
            Table parentTable = ReferenceTables[tableNum];

            if (row >= outerRowCount)
            {
                row = ReferenceRows[tableNum][(int)row - outerRowCount];
                return(parentTable.GetValue(JoinedTableInfo.AdjustColumnOffset(column), row));
            }

            if (outerRows[tableNum] == null)
            {
                // Special case, handling outer entries (NULL)
                return(new DataObject(TableInfo[column].DataType, null));
            }

            row = outerRows[tableNum][(int)row];
            return(parentTable.GetValue(JoinedTableInfo.AdjustColumnOffset(column), row));
        }
示例#2
0
 private void CallInit(Table[] tables)
 {
     vtTableInfo = new JoinedTableInfo(new ObjectName("#VIRTUAL TABLE#"), tables.Select(x => x.TableInfo).ToArray());
     Init(tables);
 }
示例#3
0
 private void CallInit(Table[] tables)
 {
     vtTableInfo = new JoinedTableInfo(new ObjectName("#VIRTUAL TABLE#"), tables.Select(x => x.TableInfo).ToArray());
     Init(tables);
 }