本人vs2003(C#)做野了一个80多列表的动态查询器(组合sql)出结果之后要求在在web页面打印出。现在有3个问题。
1:查询出来的列数动态,如何在报表中绑定?水晶报表中可以动态创建text,line,box,以及数据字段的对象吗?并且可以在程序中指定对象的值,位置,大小吗?
2:因为查询结果是用户自定义,所以列可能很多,页面必须有相应的排版?可以在程序中动态改变报表的页面格式(A3,A4,横向,纵向)吗?
3:如果数据量过大(例如,查询结果有10万行数据)有什么办法提高性能?我已经做好了一个存储过程处理数据量大的分页。但如果每次只给少量数据入报表,水晶报表自带的分页功能就失败了,而已打印也只能1页1页打。
各位高手有什么好的处理方法?谢谢
1:查询出来的列数动态,如何在报表中绑定?水晶报表中可以动态创建text,line,box,以及数据字段的对象吗?并且可以在程序中指定对象的值,位置,大小吗?
2:因为查询结果是用户自定义,所以列可能很多,页面必须有相应的排版?可以在程序中动态改变报表的页面格式(A3,A4,横向,纵向)吗?
3:如果数据量过大(例如,查询结果有10万行数据)有什么办法提高性能?我已经做好了一个存储过程处理数据量大的分页。但如果每次只给少量数据入报表,水晶报表自带的分页功能就失败了,而已打印也只能1页1页打。
各位高手有什么好的处理方法?谢谢
xiaomaoxia(我的信誉怎么了,该结的都结了啊):如何用公式字段组?
PaperOrientation.Portrait;
PaperSize.PaperA4(有些页面不能,例如A3,估计默认的打印机没有A3);
但动态列扔为有答案啊??
创建你的报表对象实例
设置报表对象实例的.SetDataSource属性,一般是=DataSet的一个DataTable
设置CrystalReportViewer对象的ReportSource=报表对象实例
就可以了。