示例#1
0
        void Reset()
        {
            AggregateData = new List <Table.AggregateData>();
            for (var column = 0; column < input.NumColumns; ++column)
            {
                var aggregateData = new Table.AggregateData(column);
                var firstType     = Enumerable.Range(0, input.NumRows).Select(row => input[row, column]).Where(value => value != null).Select(value => value.GetType()).FirstOrDefault();
                if (firstType == null)
                {
                    aggregateData.Aggregation = Table.AggregateType.All;
                }
                else if (firstType.IsNumericType())
                {
                    aggregateData.Aggregation = Table.AggregateType.Sum;
                }
                else if (firstType.IsDateType())
                {
                    aggregateData.Aggregation = Table.AggregateType.Min | Table.AggregateType.Max;
                }
                else
                {
                    aggregateData.Aggregation = Table.AggregateType.All;
                }
                AggregateData.Add(aggregateData);
            }
            SortData = new List <Table.SortData>();

            SetupTable();
        }
示例#2
0
		void Reset()
		{
			AggregateData = new List<Table.AggregateData>();
			for (var column = 0; column < input.NumColumns; ++column)
			{
				var aggregateData = new Table.AggregateData(column);
				var firstType = Enumerable.Range(0, input.NumRows).Select(row => input[row, column]).Where(value => value != null).Select(value => value.GetType()).FirstOrDefault();
				if (firstType == null)
					aggregateData.Aggregation = Table.AggregateType.All;
				else if (firstType.IsNumericType())
					aggregateData.Aggregation = Table.AggregateType.Sum;
				else if (firstType.IsDateType())
					aggregateData.Aggregation = Table.AggregateType.Min | Table.AggregateType.Max;
				else
					aggregateData.Aggregation = Table.AggregateType.All;
				AggregateData.Add(aggregateData);
			}
			SortData = new List<Table.SortData>();

			SetupTable();
		}