Exemple #1
0
 private void AddBaseTableColumns(IReactiveTable table)
 {
     foreach (var column in table.Columns)
     {
         _columns.AddColumn(column);
     }
 }
Exemple #2
0
        /// <summary>
        /// Group the source table by the given column
        /// </summary>
        /// <param name="columnId"></param>
        /// <typeparam name="T"></typeparam>
        /// <returns></returns>
        /// <exception cref="ArgumentException"></exception>
        public IReactiveColumn GroupBy <T>(string columnId)
        {
            var column = (IReactiveColumn <T>)_sourceTable.GetColumnByName(columnId);

            if (_groupColumns.ContainsKey(column.ColumnId))
            {
                throw new ArgumentException($"Column {column.ColumnId} is already in group by statement",
                                            "columnId");
            }

            var keyColumn = new HashcodeAccessor <T>(column);

            _keyColumns.Add(keyColumn);
            _groupColumns.Add(columnId, column);
            _allColumns.AddColumn(column);

            return(column);
        }