コード例 #1
0
        public string GetDescription(DataSchema dataSchema)
        {
            var parts = new List <string>();

            if (RowHeaders.Any())
            {
                parts.Add(Resources.PivotSpec_GetDescription_Row_Headers_);
                parts.AddRange(RowHeaders.Select(header => header.Caption ?? header.SourceColumn.ToString()));
            }
            if (ColumnHeaders.Any())
            {
                if (parts.Any())
                {
                    parts.Add(string.Empty);
                }
                parts.Add(Resources.PivotSpec_GetDescription_Column_Headers_);
                parts.AddRange(ColumnHeaders.Select(header => header.Caption ?? header.SourceColumn.ToString()));
            }
            if (Values.Any())
            {
                if (parts.Any())
                {
                    parts.Add(string.Empty);
                }
                parts.Add(Resources.PivotSpec_GetDescription_Values_);
                parts.AddRange(Values.Select(value =>
                                             (ColumnCaption.ExplicitCaption(value.Caption) ??
                                              value.AggregateOperation.QualifyColumnCaption(value.SourceColumn.ToColumnCaption()))
                                             .GetCaption(dataSchema.DataSchemaLocalizer)));
            }
            return(string.Join(Environment.NewLine, parts));
        }