各位师兄师姐,我遇到这样一种情况:
主项头
GOOD(这里放memo39)主项数据
[dsDetailamt."DA_Customer_Code"](这是memo40)
我在主项数据中,控制数据的显示if [dsDetailamt."DA_Customer_Code"]<>'Text' then
   begin
     memo40.visible := False;   end
else
   begin
     memo40.visible := True;     memo40.Top := Memo39.Top;   end就是说,符合条件的数据,显示出来,不符合的不显示;但是出现了这样一个问题,请看实例:
GOOD
1011
1012GOOD
1025
1026也就是说,当第二组符合条件的数据显示的时候,它空出了两行(很明显是因为不符合条件,第一二行的visiable为false了),我想让第二组的显示也紧贴着主项头,该怎么办啊?
我用
memo40.Top := Memo39.Top;
但是不行,我找不到方法了,请师兄师姐帮帮我啊。

解决方案 »

  1.   

    if [dsDetailamt."DA_Customer_Code"]<>'Text' then
       begin
         bandMaster.visible := false;   end;
    再找个地方把
    bandMaster.visible := true;
      

  2.   

    比如在ONBeforePrintBand事件中 bandMaster.visible := true;
      

  3.   

    你打印之前,把数据过滤一下:把不符合条件的记录先过滤掉
    dsDetailamt.Filted := False;
    dsDetailamt.Filter := 'DA_Customer_Code<> '''Text''';
    dsDetailamt.Filted := True;
      

  4.   

    谢谢两位,我试过了:
    zsjzwj(北极熊) ,你的方法,把所有数据都显示出来了; hqhhh(枫叶) ,我的‘text’其实是分组条件,我只是举个例子,在delphi中没有的。
    其实我的报表格式是:
    分组头主项数据分组脚
    (在分组脚中放一个subreport)subreport显示就是:
    GOOD
    1011
    1012GOOD
    1025
    1026
      

  5.   

    如果memo40.visible := False;
    则把他所在的TfrBandView的高度设置为0看看否则再给他设置过来
      

  6.   

    在delphi中还是fastreport中设置啊?