Как установить итоговую строку заголовка нижнего колонтитула и итоговые значения в одной строке в UltraGrid
Я оцениваю контроль UltraGrid для моего приложения Windows Forms. Я заметил, что итоговая строка отображается отдельно, а значение, полученное по формуле, отображается в отдельной строке.
Кто-нибудь знает, как объединить эти 2 строки.
Например, SubTotal значение1 значение2 значение3
Спасибо,
Виджай
1 ответ
Я не думаю, что это возможно. Одна проблема может заключаться в том, чтобы выбрать, в какой столбец помещать текст заголовка, что если пользователь переместит столбец? Что делать, если заголовок охватывает более одного столбца?
Возможный обходной путь может состоять в том, чтобы определить пользовательскую сводку и установить пустую строку в качестве возвращаемого значения вычисления, а затем использовать свойство 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 "";
}
}
Имейте в виду, однако, что это решение имеет все недостатки, которые я изложил в начале этого ответа.