用dxComponentPrinter1打印cxgrid控件,当我第一次点 dxComponentPrinter1.Preview(True,dxComponentPrinter1Link1);就可以正常打印预览,但是第二次在点就不行了。---------------但若是关闭cxgrid显示的窗体,再点dxComponentPrinter1.Preview(True,dxComponentPrinter1Link1打印就好了。
---------------能不能在显求cxgrid的窗体上,什么时候点打印预览dxComponentPrinter1.Preview(True,dxComponentPrinter1Link1)都可以呢?是不是我那一个属性或方法没有设到啊。

解决方案 »

  1.   

    但若是关闭cxgrid显示的窗体,重新进入该cxgrid的窗体,再点dxComponentPrinter1.Preview(True,dxComponentPrinter1Link1打印就好了。 
      

  2.   

    使用TdxComponentPrinter1可以打印很多可见可得的控件,例FORM,PANEL,cxgrid等,而且只要一个TdxComponentPrinter1就够了,只要设置好了就行了。
    双击TdxComponentPrinter1,在出现的窗口中,点ADD,在这里,你可以建很多个Name,例sys_cxgrid1,sys_grid2,sys_form等等,比如sys_cxgrid1对应cxgrid1,sys_cxgrid2对应cxgrid2
    那么:
      想打印cxgrid1的内容,则:
           TdxComponentPrinter1.currentLink:=sys_cxgrid1;
           TdxComponentPrinter1.preview(true,nil);   想打印cxgrid2的内容:       TdxComponentPrinter1.currentLink:=sys_cxgrid2;
          TdxComponentPrinter1.preview(true,nil);
    依次类推    
      

  3.   

    兄弟,上边这些都会了,谢谢你昨天给的报表页脚的回答。现在这些都好了。------现在的问题是,第一次点击启动print proeview,可以显示cxgrid的内容,但是退出print proeview后,再点击进去就什么加载的内容都没有了。
      

  4.   


      想打印cxgrid1的内容,则: 
          TdxComponentPrinter1.currentLink:=sys_cxgrid1; 
          TdxComponentPrinter1.preview(true,nil);   想打印cxgrid2的内容:       TdxComponentPrinter1.currentLink:=sys_cxgrid2; 
          TdxComponentPrinter1.preview(true,nil); 
    依次类推 我一直都这样用,没出现过你说的现象,是不是有什么地方没设置好。
      

  5.   

    想打印cxgrid1的内容,则: 
          TdxComponentPrinter1.currentLink:=sys_cxgrid1; 
          TdxComponentPrinter1.preview(true,nil);--------------------------是啊.我刚进入CXGRID的delphi窗体,然后打印预览是OK的,我退出打印预览的界面,又点击打印预览,打印的都是同一个cxgrid1,但是第二次的打印预览就什么都没有. 
      

  6.   

    前两天tgbd回答了那个页眉页脚的问题,所以给他多点分,其它人平均