因为设计器的编程接口不能直接定义报表模板,所以应该对设计器关联的报表对象上进行定义。首先调用 IGRDesigner.Post 方法将设计器中的当前设计数据提交到关联的报表主对象中去,然后调用报表的相关接口定义报表模板,最后调用 IGRDesigner.Reload 方法从关联的报表主对象中重新载入模板数据。代码如下: 
ReportDesigner.Post(); //将设计器中的当前报表模板数据提交

var Report = ReportDesigner.Report;

//调用编程接口定义报表。编程定义报表:参考帮助中“开发指南->报表接口编程->编程定义报表模板”部分
Report.AddParameter("newParam", 3); //举例代码:自动加一个名为newParam的浮点数参数
//。。。按需要写需要的定义代码

ReportDesigner.Reload(); //重新载入,以便在设计器中反映用代码定义的内容 
WEB报表插件参考例子:C:\Grid++Report 6\WebSamples\...\plugins\Advance\Program\ProgramReportToDesign.htm
设计器控件的工具栏按钮不能自定义,不能增加新的按钮,也不能隐藏已有的按钮。工具栏中的打开与保存按钮的响应行为可以自定义,通过响应IGRDesigner.OpenReport与IGRDesigner.SaveReport事件来实现,具体请在帮助中查OpenReport与SaveReport。
C/S程序参考例子:11.CustomDesign
WEB报表插件参考例子:plugins\09.DesignReport\CustomDesignReport.htm
默认情况下是从 IGRDesigner.LoadReportURL 属性与 IGRDesigner.SaveReportURL 属性打开与保存报表模板数据,打开按钮重新载入报表模板,保存按钮将当前模板设计提交至 IGRDesigner.SaveReportURL 指定的位置并由其负责保存,参考例子:plugins\Tutorial\DesignReport.htm。也可以通过响应事件自定义按钮行为,就是响应IGRDesigner.OpenReport 事件与 GRDesigner.SaveReport 事件,具体参考例子:09.DesignReport\CustomDesignReport.htm。
通过调用 IGRDeisigner 接口的属性或方法可以自定义报表设计器控件,具体请在帮助中参考IGRDeisigner。常用是调用 IGRDesigner.SetOptionValue 方法开启或禁用掉某项功能,如是否允许打开数据连接串与查询SQL设置窗口、是否显示某部分窗口等,具体有哪些选项可设置请参考帮助中的 GRDesignerOption 枚举。
例如要禁止打开数据连接串与查询SQL设置窗口,代码类似如下:
ReportDesigner.SetOptionValue(grdoCanModifyDBSettings, false); //js代码应该用 67108864 代替 grdoCanModifyDBSettings  
把设计器控件嵌入到你们的程序中,就可以为用户提供可视化的自定义报表设计功能。 
1、把你们数据源选定好,这步你们实现,从中可以得到类似数据字典的信息
2、根据数据源信息自动把报表中的记录集字段,表头,表格列等信息产生好。这步调用Grid++的接口用代码实现。
3、进入报表设计器进行可视化设计,这样最终用户一进入设计器界面就有了很多基本的信息。 
一般是给用户提供各种类型的报表样本,然后用户在样本的基础上进行修改设计。因为报表设计器是一个专业性比较强的软件,很难让用户从头至尾全新设计一个报表。 

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