现在做报表,可以自己建立一个xsd文件,然后在设计RDLC报表的时候,直接把要显示的列拖进去,然后从数据库查询数据,绑定,然后显示报表。但是如果我想把一个已经显示出来的DataGridView或者是自己建立的DataTable或其他数据,显示到报表上能否实现呢?
因为在设计报表时报表Table的每一列不知道如何和DataTable关联起来。实际这里就是要打印出dataGirdView的内容。当然,有自己画的PrintDocument可以打印DataGridView,但是功能比较简单,想用这个打印的话导出Excel和PDF都很方便。

解决方案 »

  1.   

    这个可以实现。
    http://waxdoll.cnblogs.com/archive/2006/02/27/339115.html
    代码在家,现在没发给你贴出来,你看这个连接能否解决你的问题。 
      

  2.   

    现在做报表,可以自己建立一个xsd文件,然后在设计RDLC报表的时候,直接把要显示的列拖进去,然后从数据库查询数据,绑定,然后显示报表。 
    直接把要显示的列拖进去,然后从数据库查询数据,绑定,然后显示报表。 
    你只要给 矩阵控件 绑定数据源就成,有多少列它自动显示出来的,至于你用何种数据源,从数据库读取还是New出来一个DataTable无所谓了!
      

  3.   

    我是用一个Ilist<实体类>来绑定数据源的,这样可以和数据访问脱离关系,便于升级维护。
      

  4.   


    那我是否不需要拖入矩阵控件或是table控件,而在运行时直接吧List或table设置为数据源?因为我建了报表以后,如果用到了矩阵控件或是table控件,但没有设置dataset会报错的
      

  5.   

    xsd文件和DataGridView的数据源结构相同就可以了。
    你可以手动建xsd文件,不用从数据库表里拖。。
      

  6.   

    因为在设计报表时报表Table的每一列不知道如何和DataTable关联起来。实际这里就是要打印出dataGirdView的内容。 报表Table的每一列的列名和DataTable的列名一致就可以了。
      

  7.   

    目前还是新建了一个XSD数据集,然后吧DataGridView的table存储进去,在用报表显示。有没有不建立XSD的方法。因为报表中加了tabel,就必须设置数据集,如果没有XSD我不知道如何设置啊
      

  8.   

    TO: goga21cn 呵呵,修改报表的XML,问题搞定了。 可以用运行时生成来动态绑定了。但是绑定List到或其他数据是如何实现的能。有没有列子看看》?
      

  9.   


    如果想灵活指定,而不是手动去建XSD文件,同时列名在程序代码中指定,请问应该如何实现呢?