0

データを入力しているときに完全に正常に表示されるレポートがあります。複雑なチャート、テーブル、および大量のデータ (約 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);

        }

このコードは基本的に、すべてのデータの間隔が同じかどうかをチェックします。それ以外の場合はブレークラインを追加します。このコードを追加すると、レポート ビューアーはエラーやレポート コントロール (次へ、印刷、エクスポートなどのボタン) なしで空白のページを直接表示します。ただし、このコードをコメントアウトすると、レポートは問題なく正常に生成されます。

コードのデバッグを試み、データ ソースにブレークポイントを設定しました。reportviewer がまだ実行されていて、ブレークポイントがあるにもかかわらず空白のページが表示されることに驚きました。明らかに、データはバインドされていないため、レポート ビューアーは空白になっています。

reportviewer が割り当てられたメモリを超えていると思われるため、コードとデータ バインディングをスキップし、空白のページを出力します。誰でも助けることができますか?

4

1 に答える 1