Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Control the table execution/Rendering during report run
RRK
<p>Hi,</p>
<p> </p>
<p>I have attached a sample example having 3 table components.</p>
<p>I am hiding the tables on visibility property and have applied filters based on parameter.</p>
<p> </p>
<p>Now as per my understanding when the report get executed it first renders all the tables for data and then checks visibility condition and hides according the table and displays appropriate table.</p>
<p> </p>
<p>What i am looking is how to stop the rendering of other tables if they are not been displayed in the table and only execute the table which will get display.</p>
<p> </p>
<p>This will improve the performance of the report.</p>
<p> </p>
<p> </p>
<p>So visibility condition should work first for two tables which are been hidden and execute/render the table to be displayed.</p>
<p> </p>
Find more posts tagged with
Comments
Clement Wong
<p>If you don't want to execute the data sets for those hidden tables, you can remove the report items in the <em>beforeFactory </em>event via drop().</p>
<p> </p>
<p>For example:</p>
<pre class="_prettyXprint">
reportContext.getDesignHandle().findElement("yourElement").drop();
</pre>
<p>In your example, you remove the Visibility settings in each of the tables. Give each table a unique name Then in the beforeFactory event, check the parameter and drop the tables you want.</p>
<pre class="_prettyXprint">
if (params["Param 1"].value == 103) {
reportContext.getDesignHandle().findElement("theTable2").drop();
reportContext.getDesignHandle().findElement("theTable3").drop();
}
else if (params["Param 1"].value == 112) {
reportContext.getDesignHandle().findElement("theTable1").drop();
reportContext.getDesignHandle().findElement("theTable3").drop();
}
//else if (params["Param 1"].value == 114)
else {
reportContext.getDesignHandle().findElement("theTable1").drop();
reportContext.getDesignHandle().findElement("theTable2").drop();
}</pre>
<p>Attached is a revised sample.</p>
<p> </p>
RRK
<p>Many thanks Clement....</p>
<p> </p>
<p>It worked well!!
</p>