Table of Contents

Исключение дублирования записей в подотчетах

Если явно не указано наименование родительской таблицы, из которой берутся данные для секции Detail, то будет использоваться первая таблица источника данных отчета. Если при использовании функционала подотчетов родительская таблица содержит более одной записи, то подотчеты будут повторяться. Чтобы исключить дублирование подоточетов, нужно задать в качестве родительской таблицы временную пустую таблицу. Это можно сделать в скрипте обработчика события 'Запрос источника данных'.

Пример скрипта:


using System.Data;
private void BaseReport_DataSourceDemanded(object sender, System.EventArgs e)
{
    XtraReport report = (XtraReport)sender;
    DataSet dataSet = (DataSet)report.DataSource;
    if (!dataSet.Tables.Contains("EmptyTable"))
    {
        DataTable table = new DataTable("EmptyTable");
        dataSet.Tables.Add(table);
    }
    report.DataMember = "EmptyTable";
}