请在CSDN中搜索SReport(软件),这是一个控件。我的。相信你一定会有收获。

解决方案 »

  1.   

    掀分少啊?俺就能一次送这么多啊, ,,//cry
      

  2.   

    不是分少,而是你的问题太笼统了,简单可以写本教材了。
    你可以试试fast report,你的问题我认为思路是:先根据报表的条件查询出需要显示出来的字段,然后用fast report把这些字段做成报表,样式可以自己弄,很自由的。
      

  3.   

    我刚刚编好了一个。用dll.但是,在delphi下有问题。(dll的问题)
    放在程序中没问题。(作为程序的一个模块).
    你要想要先加分,留下e-mail.我给你发过去
      

  4.   

    For i:=0 to total-1 do
        begin
          QRLabel[i]:=TQRLabel.Create(QRep.Bands.ColumnHeaderBand);
          QRLabel[i].parent:=QRep.Bands.ColumnHeaderBand;
          QRep.Bands.ColumnHeaderBand.Height:=20;///jiajia
          QRLabel[i].height:=QRep.Bands.ColumnHeaderBand.height-2;
          QRLabel[i].width:=200;//table1.Fields[i].DisplayWidth
          QRLabel[i].Font.size:=8;
          if i=0  then
            QRLabel[i].Left:=-3
          else
            QRLabel[i].left:=QRlabel[i-1].left+QRLabel[i-1].width-3;
          QRLabel[i].top:= 1;
          if i=total-1 then
            begin
              QRLabel[i].frame.drawtop:=true;
              QRLabel[i].frame.drawbottom:=false;//true;    {指定Text是否有边框}
              QRLabel[i].frame.drawleft:=true;;
              QRLabel[i].frame.drawright:=true;
            end
          else
            begin
              QRLabel[i].frame.drawtop:=true;
              QRLabel[i].frame.drawbottom:=false;//true;    {指定Text是否有边框}
              QRLabel[i].frame.drawleft:=true;
              QRLabel[i].frame.drawright:=false;;
            end;
          //QRLabel[i].Top:=1;              //调节列表字段的表格高度,,
          if comcate.Text='详细报表' then
            QRLabel[i].Caption:=table1.Fields[i].DisplayLabel
          else
          QRLabel[i].Caption:=table2.Fields[i].DisplayLabel ;    end;我现在用这段代码,可以实现不错位了,但是titleband的上线画出来总是宽度不够,所以不能封口一样就这样:
    _ _ _ _ _  我只能演示上线,下线是正常的,就是上线不能封口似的,liulin(liulin)麻烦帮 
    | | | | |     帮我看看代码,,我晚上就结你分,,
      

  5.   

        用quick report,一个简单的办法,预先在各band放一组对齐了的报表控件,在beforeprint中处理,如果需要显示,则自己写这些控件的caption.否则,将其置空。
        希望能帮到你。只是这个有个问题,就是一页的列数说到底也是固定的了,只是显示不显示的问题。如果你有更好的办法,别忘了告诉我哟。
      

  6.   

    你把纸张设大点,还有,这个可以通过改变dbgrid的宽度来改变报表中显示的列宽
      

  7.   

    quick report默认的纸有多大??
      

  8.   

    to  wool(wool) (2001-12-8 19:16:20) : joney1(不懂编程) (2001不是纸的事情吧?纸是足够大了啊,就是上面不封口啊,,,
    _ _ _ _ _  看见没啊?上口就是这样的
    | | | | |
      

  9.   

    liulin(liulin) 回复于2001-12-8 17:25:34     
    我的可以解决。  我的email地址如下:谢谢,,@_@
    [email protected]
      

  10.   

    liulin(liulin) 回复于2001-12-8 17:25:34    
     如果觉得分不够,我在分着给你,好不好?快发啊,,,
      

  11.   

    复人: liulin(liulin) (2001-12-8 21:49:25)  得0分 
    你的邮箱好像不行,发不出去。换个263的什么的?  
    邮箱:[email protected]
    快给俺发吧,,俺急成白发了,,//cry@@@@@@@@@@@@@@@
      

  12.   

    to  liulin(liulin) 
    多发几次好不好啊?俺真的要去染头了,//cry要不俺拜你为师吧?嘿嘿,快快快快@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@