我用Master-Detail表打印报表,在OnNext事件处理中做一些事情。但是我发现对于每个Master表记录,OnNext相应函数会被执行两次。当然了,OnNext是主表TfrxDBDataSet的事件响应函数。
问:
为什么OnNext的事件处理函数会被执行两次?

解决方案 »

  1.   

    是不是设置了2次遍历呢?
    你试试把2次遍历去掉呢?我用的还是FR2X的。
    呵呵,似乎FR3X有很大的改进啊。
      

  2.   

    我初用FASTREPORT,不知两次遍历是在什么地方设置的,干什么用的,能不能说的详细一些呢?
      

  3.   

    没记错的话应该是frReport控件的DoublePass属性。
    如果你是FR2.5以上的版本,两遍报表是做为报表模板文件的一个属性存在的,在报表设计器的File->Property,会有个属性对话框弹出来。你可以对模板进行加密、并设置两遍报表。
    很久没用了,菜单名称可能有点出入,:D,见谅。
      

  4.   

    如果你需要第x页 共x页,这种效果,就得用两遍报表。
    原因很简单,因为fr想要知道共x页,必须先把所有页面都算一遍才能知道吧?
    在报表脚本中,你可以用finalpass这个变量来判断当前报表处于第几遍,finalpass=True表示你正处于第二遍。