Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Reportviewer在添加一些代码后显示空白页_C#_Visual Studio 2012_Reporting Services_Reportviewer_Reportbuilder - Fatal编程技术网

C# Reportviewer在添加一些代码后显示空白页

C# Reportviewer在添加一些代码后显示空白页,c#,visual-studio-2012,reporting-services,reportviewer,reportbuilder,C#,Visual Studio 2012,Reporting Services,Reportviewer,Reportbuilder,我有一个报告,当我用数据填充它时,它呈现得非常好。我有复杂的图表、表格和大量数据(大约20000个内存对象)。我的报告呈现得非常好,直到我为一些数据计算添加了for循环。for循环如下所示: public void InsertLineBreaks(List<LineChart> inputList, int sampleInterval) { List<LineChart> breaklinesList = new List<Li

我有一个报告,当我用数据填充它时,它呈现得非常好。我有复杂的图表、表格和大量数据(大约20000个内存对象)。我的报告呈现得非常好,直到我为一些数据计算添加了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);

        }
public void InsertLineBreaks(List-inputList,int-sampleInterval)
{
列表特征行列表=新列表{};
对于(int i=1;i采样间隔)
{
折线图特征线=输入列表[i];
特征线。特征线=1;
特征线列表。添加(特征线);
}
inputList.AddRange(特征线列表);
}
这段代码主要检查每个数据的间隔是否相同,否则会添加特征线。添加此代码时,我的reportviewer直接显示一个空白页,没有任何错误或报告控件(下一步、打印、导出等按钮)。但是,如果我将此代码注释掉,则报告生成的结果很好,没有任何问题

我尝试调试代码并在数据源上设置断点。我惊讶地看到,尽管有断点,reportviewer仍然运行并显示一个空白页面。很明显,数据没有绑定,这就是报表查看器为空的原因


我怀疑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);

}
public void InsertLineBreaks(List-inputList,int-sampleInterval)
{
列表特征行列表=新列表{};
对于(int i=1;i采样间隔)
{
折线图特征线=输入列表[i];
特征线。特征线=1;
特征线列表。添加(特征线);
}
}
inputList.AddRange(特征线列表);
}

您检查过事件日志了吗?我见过这样的例子,这里是唯一一个发现自定义代码问题的地方。谢谢Jeroen,我查看了日志,但没有帮助。