1

我正在为我的 Windows 窗体应用程序评估 UltraGrid 控件。我观察到汇总行是单独显示的,从公式获得的值显示在单独的行上。

有谁知道如何合并这两行。
例如 SubTotal value1 value2 value3

谢谢,
维杰

4

1 回答 1

0

我不认为这是可能的。一个问题可能是选择将标题文本放在哪一列下,如果用户移动该列怎么办?如果标题跨越多于一列怎么办?

一种可能的解决方法是定义自定义摘要并将空字符串设置为计算的返回值,然后使用 DisplayFormat 属性设置要用作标题的文本。

SummarySettings ss = grid.DisplayLayout.Bands[0].Summaries.Add("SummaryKeyName", 
                     SummaryType.Custom, new FakeCaptionSummary(), 
                     grid.DisplayLayout.Bands[0].Columns["ColumnUsedForCaption"],  
                     SummaryPosition.UseSummaryPositionColumn, 
                     grid.DisplayLayout.Bands[0].Columns["ColumnUsedForCaption"]);
ss.DisplayFormat = "Subtotals";

然后构建一个实现ICustomSummaryCalculator接口的类

internal class FakeCaptionSummary : ICustomSummaryCalculator
{
    public FakeCaptionSummary()
    {
         // Empty constructor
    }
    // Called at the start of the custom summary calculation
    public void BeginCustomSummary(SummarySettings summarySettings, RowsCollection rows)
    {}
    // Called for each row in band of this summary
    public void AggregateCustomSummary(SummarySettings summarySettings, UltraGridRow row)
    {}
    // Called to get the return value to put in the SummaryRpw at the specified column
    public object EndCustomSummary(SummarySettings summarySettings, RowsCollection rows)
    {
        return "";
    }
}

但是请记住,此解决方案具有我在此答案开头概述的所有缺点。

于 2012-10-24T20:41:39.407 回答