У меня есть отчет, который отлично отображает, когда я заполняю его данными. У меня есть сложные диаграммы, таблицы и множество данных (около 20 000 объектов памяти). Мой отчет выглядел отлично, пока я не добавил цикл for для вычисления некоторых данных. Цикл обработки выглядит следующим образом:Reportviewer показывает пустую страницу после добавления кода
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);
}
Этот код в основном проверяет, если в каждом случае один и тот же интервал добавляет брешь. Когда я добавляю этот код, мой Reportviewer напрямую показывает пустую страницу без каких-либо ошибок или элементов управления отчетами (далее, печать, экспорт и т. Д.). Однако, если я прокомментирую этот код, отчет генерирует только штраф без каких-либо проблем.
Я попытался отладить код и поставить точку останова на источники данных. Я был удивлен, увидев, что Reportviewer все еще работает и показывает пустую страницу, несмотря на точку останова. Таким образом, очевидно, что данные не привязаны, и поэтому средство просмотра отчетов пуст.
Я подозреваю, что Reportviewer превышает выделенную ему память, поэтому пропускает мой код и привязывает данные и печатает пустую страницу. Может ли кто-нибудь помочь?
Вы проверили журнал событий? Я видел случаи, когда это было единственное место, где были найдены проблемы с конкретным кодом. – Jeroen
Спасибо Jeroen, я проверил журнал, но это не помогло. –