请参考帮助中的“开发指南->报表部件框应用->子报表”部分
1、尽量少用子报表,只有在必须时才选用子报表。很多子报表的实现可以用分组报表替代。
2、多记录集且对应多个明细表格的报表应该考虑子报表。如果仅仅是报表头尾的动态数据,应该用报表参数或直接给部件框设置值的方式,而不需采用子报表。
3、垂直并行的多个子报表尽量放在不同的报表节中,即一个报表节只存在一个子报表。
1、尽量少用子报表,只有在必须时才选用子报表。很多子报表的实现可以用分组报表替代。
2、多记录集且对应多个明细表格的报表应该考虑子报表。如果仅仅是报表头尾的动态数据,应该用报表参数或直接给部件框设置值的方式,而不需采用子报表。
3、垂直并行的多个子报表尽量放在不同的报表节中,即一个报表节只存在一个子报表。
多记录集应该用考虑子报表(对应多个明细表格的报表)。如果仅仅是报表头尾的动态数据,应该用报表参数或直接给部件框设置值

{
子报表连接串继承
如果子报表本身不定义连接串,在主报表上定义的连接串(即报表主对象或明细网格上设置的连接串)就会被子报表自动继承。
概念说明:请参考帮助中的“开发指南->报表部件框应用->子报表”部分

独立子报表定义说明
1、必须是报表头或报表尾中的子报表,且是所在节唯一的部件框。
2、子报表的“主表页面设置(ParentPageSettings)”属性必须为“否(FALSE)”。
3、如果主表有明细网格,明细网格的“打印策略”属性不能是横向分页类型。遇到这种情况的解决办法是将此明细网格定义到另一个独立产生的子报表中。
4、子表可以选择是否继承主表的页号与页数。

独立子报表主要用途
1、将多个不同的报表集中在一起打印,且每个报表的页面设置可以不一样,如纸张大小与纸张方向。
2、希望多个报表集中导出到一个文件。
3、实现在导出Excel时,将不同的报表分别导出在不同的工作表(sheet)中。设置子报表的“导出到新工作表”属性为“是”,这个子报表在导出Excel时将单独产生在一个新工作表中。 
Grid++Report 在内部这样约定:当子报表在运行时,子报表中的参数会自动从主报表中同名的参数或记录集字段中取值。利用这点特性,就可以让子报表根据主报表的当前数据获取子报表的数据。如果在子报表中应用参数化的查询SQL语句,并让应用到的参数与主报表中的参数或记录集字段同名,这样就自动实现了主子报表的数据关联。
另也可以在子报表的 Initialize 与 FetchRecord 报表事件中编写程序代码实现主子报表关联,在事件代码中可以获取主报表的数据,如报表参数与字段的值,这些值可以设置到子报表上,如根据主表上的这些值作为参数获取子报表的记录集数据。
包含有子报表的报表不适合用查询显示器控件(DisplayViewer)显示,如果明细网格中包含有子报表,这些子报表都不能在查询显示器控件中显示,所以含有子报表的报表直接用打印显示控件(PrintViewer)显示,即按打印预览方式显示。
如果实在需要查询显示方式显示这样的数据,建议不用子报表,而是用多个查询显示器控件分别显示数据的不同部分,每个明细表格对应一个查询显示器控件。 

FAQ中没有解决问题,请查看其它技术支持方式。这里常见问题解答(FAQ)内容也全部包含在Grid++Report的帮助文档中,开发者一定要善于查看软件安装后的产品帮助文档。