聚合的自定义名称
Custom names for aggregates
在使用不同的聚合器工厂时,是否有一种方法或覆盖允许为 return 标签定义自定义名称。例如,调用 SumAggregatoryFactory 对 "Amount" 字段求和将 return 行标签 "Sum of Amount"。如果我们希望它是 "Total Amount"、"Total" 或其他一些自定义值怎么办?
创建一个 ResultAmount class。那将 return 结果的描述,而不是字符串。像这样:
class ResultAmount
{
public string Label { get; set; }
public decimal SumAmount { get; set; }
public override string ToString()
{
return $"{Label}: {SumAmount}";
}
}
对于不同的工厂,Label值可能不同。
那么你有一个工厂:
class TotalCalculations
{
public ResultAmount SumAggregatoryFactory()
{
return new ResultAmount
{
Label = "Total",
SumAmount = 100
};
}
}
以及调用工厂的要点:
class BillingService
{
public void Print(TotalCalculations calc)
{
//when calling the method, you can use the standard Label
string original = calc.SumAggregatoryFactory().ToString();
//or take only the sum and configure the result string yourself
string custom = $"My message: {calc.SumAggregatoryFactory().SumAmount}";
}
}
如果您使用 PivotData Toolkit 编写器(如 PivotTableHtmlWriter
),您可以使用 FormatMeasureHeader 自定义度量标签 属性:
pvtHtmlWr.FormatMeasureHeader = (aggrFactory, measureIndex) => {
// customize header by factory type or measure index
return aggrFactory.ToString();
};
(另见:https://www.nrecosite.com/pivotdata/format-pivot-table.aspx)。
在自定义呈现的情况下,您可以定义自己的度量名称格式,将聚合器类型考虑在内。
在使用不同的聚合器工厂时,是否有一种方法或覆盖允许为 return 标签定义自定义名称。例如,调用 SumAggregatoryFactory 对 "Amount" 字段求和将 return 行标签 "Sum of Amount"。如果我们希望它是 "Total Amount"、"Total" 或其他一些自定义值怎么办?
创建一个 ResultAmount class。那将 return 结果的描述,而不是字符串。像这样:
class ResultAmount
{
public string Label { get; set; }
public decimal SumAmount { get; set; }
public override string ToString()
{
return $"{Label}: {SumAmount}";
}
}
对于不同的工厂,Label值可能不同。 那么你有一个工厂:
class TotalCalculations
{
public ResultAmount SumAggregatoryFactory()
{
return new ResultAmount
{
Label = "Total",
SumAmount = 100
};
}
}
以及调用工厂的要点:
class BillingService
{
public void Print(TotalCalculations calc)
{
//when calling the method, you can use the standard Label
string original = calc.SumAggregatoryFactory().ToString();
//or take only the sum and configure the result string yourself
string custom = $"My message: {calc.SumAggregatoryFactory().SumAmount}";
}
}
如果您使用 PivotData Toolkit 编写器(如 PivotTableHtmlWriter
),您可以使用 FormatMeasureHeader 自定义度量标签 属性:
pvtHtmlWr.FormatMeasureHeader = (aggrFactory, measureIndex) => {
// customize header by factory type or measure index
return aggrFactory.ToString();
};
(另见:https://www.nrecosite.com/pivotdata/format-pivot-table.aspx)。
在自定义呈现的情况下,您可以定义自己的度量名称格式,将聚合器类型考虑在内。