根据更新的类型(以及与更新相关的对象),可以使用free craxdrt.dll(设计器运行时库)或not free craxdrt.dll(设计器设计和运行时库)。我忘了细节,但你一定会在网上找到的。
你的问题:
-
筛选器:可以在运行时更新报表对象的sqlquerystring,也可以更新预先声明的参数,以便将它们添加到“where”子句中。我认为添加参数仅限于craxddrt dll,但可以使用craxdrt dll更新现有参数。您可以使用CR接口来更新这些参数,或者通过代码来实现:一个想法是在客户机接口中更新这些值(例如,从活动表单),然后以编程方式更新它们。请检查
here
举个例子。
-
隐藏表:我认为“隐藏表”没有任何意义,因为您需要您的表具有所有可用关系来计算汇总值。因此,您可以向用户建议查看/隐藏详细信息或查看/隐藏不同分组级别的可能性。这可以通过使用免费的craxdrt库和报表对象的“areas”collection/“suppress”方法轻松完成。
-
再一次,在报告的不同方面进行尝试似乎是最好的解决方案
-
我劝你不要想它!更改数据顺序可能导致不可预测的结果,特别是在组级别计算中间摘要时。根据您的请求,您可以坚持建议(2),通过在报表上显示非特定组,或者对于简单表单(仅1个组),在运行时以编程方式更新将在组定义公式中使用的参数。
-
返回建议(2):生成完整的报告将显示所有预期数据,然后隐藏/显示报告的不同部分。
还有另一个可用的代码示例
here
,向您展示如何在运行时更改到不同数据库/不同表的报表连接。