У меня есть отчет, который отлично отображается, когда я заполняю его данными. У меня есть сложные диаграммы, таблицы и много данных (около 20 000 объектов памяти). Мой отчет отображался отлично, пока я не добавил цикл for для вычисления некоторых данных. Цикл for выглядит следующим образом:
public void InsertLineBreaks(List<LineChart> inputList, int sampleInterval)
{
List<LineChart> breaklinesList = new List<LineChart> { };
for (int i = 1; i <= inputList.Count; i++)
{
if ((inputList[i].X - inputList[i - 1].X).TotalMinutes > sampleInterval)
{
LineChart breakline = inputList[i];
breakline.BreakLine = 1;
breaklinesList.Add(breakline);
}
inputList.AddRange(breaklinesList);
}
Этот код в основном проверяет, имеют ли все данные одинаковый интервал, в противном случае добавляется линия разрыва. Когда я добавляю этот код, мое средство просмотра отчетов сразу показывает пустую страницу без каких-либо ошибок или элементов управления отчетом (кнопки «Далее», «Печать», «Экспорт» и т. д.). Однако, если я закомментирую этот код, отчет будет сгенерирован без каких-либо проблем.
Я попытался отладить код и поставить точку останова на источниках данных. Я был удивлен, увидев, что средство просмотра отчетов все еще работает и показывает пустую страницу, несмотря на точку останова. Итак, очевидно, что данные не привязаны, и поэтому средство просмотра отчетов пусто.
Я подозреваю, что средство просмотра отчетов превышает выделенную ему память, поэтому пропускает мой код и привязку данных и печатает пустую страницу. Кто-нибудь может помочь?