FastReport.Net报表经验记录

当打印预览时数据区不显示或只显示一条记录时,是因为在设计报表时数据区没有指定完整的数据源。

Fast Report 总页数不显示:
这个问题有很多人问过,有些回答正确但是不明白,开始我也有点迷糊,现在我知道了,方法:
进入fastreport-->File->Report Options-->two-pass report选中就行了,实现不了再找我!


错误:“FastReport.Report”的类型初始值设定项引发异常。

解决方法:删除解决方案下所有FastReport.Dll文件,然后重新引用。

错误:打开报表时,报表自动去连接设计时的数据库,说明在程序中并没有正常设置数据源。
1.补打空行。

1.1在数据区下添加子报表,子报表是一个无数据,但可有表格线的节

1.2在代码中添下如下事件。

 public class ReportScript
  {
    int PageLine; //在现在页列印到第几行
    int PageMaxRow=12; //设定每页列数
    //页脚区打印前执行
    private void PageFooter1_BeforePrint(object sender, EventArgs e)
    {
      int i;
      i=Convert.ToInt32(IIf(PageLine==0, PageMaxRow, PageLine));
     while( i < PageMaxRow)
     {
       i = i + 1;
       Engine.ShowBand(Child1); //印空白表格 ,Childe1添加的子报表
    }
    }
    
    //数据区打印后执行
    private void Data1_AfterPrint(object sender, EventArgs e)
    {
      PageLine = ((Int32)Report.GetVariableValue("Row#")) % PageMaxRow; 
      if(PageLine == 1 && ((Int32)Report.GetVariableValue("Row#"))> 1)
      {
        Engine.StartNewPage();
      }
    }
  }
 

2.添加计算列

选择:数据源->Connection->表->点右键->新建计算列

选择刚才新建的计算列Column,点属性,分别设置DataType(数据类型),Expression(表达式),Format(格式)

3.添加合计列

汇总项编辑器,如果”在段上打印“为空时,统计的值为整个报表中的数据,如果只统计当前页的,就必须选择在”数据尾“。

4.当前页码 无法显示

在设计报表时,报表->选项->一般->双通道(打钩),即可正常显示当前页码。

5.字典编辑

5.1打开是字典模板的报表,Actions->SaveDictionary,保存为字典,然后用vs打开编辑

5.2用FastReport打开报表模板文件,Actions->OpenDictionary

发布了366 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_18932003/article/details/104434194