首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cfthread中的Cfcfhart可能吗?如何获取输出?

cfthread中的Cfcfhart可能吗?如何获取输出?
EN

Stack Overflow用户
提问于 2012-03-13 20:56:26
回答 3查看 144关注 0票数 3

我正在尝试改善我的一个报告的执行时间,该报告使用cfcharts打印图形。代码本身是一个实体循环,我为每个实体创建了一个图表(这是一个比较报告)。

由于报告的复杂性,通过内联完成它几乎需要一分钟或更长时间,所以我尝试在这种情况下使用cfthread,但我不确定这是否可行。

代码如下:

代码语言:javascript
复制
<body> 
<cfloop array="#uuids#" index="uuid" >

   <cfthread action="run" name="t#threadCount#" output="to#threadCount#">
    ...
       <cfchart >
          ...
       </cfchart>
   </cfthread>
    ...
</cfloop>
</body>

正如预期的那样,cfchart将不会在cfthread中“打印”,尽管它显然正在执行。如何获取cfthread的输出?一种可能的解决方案是从cfchart创建一个图像,然后在所有线程都完成时使用该图像构建文档,但我想知道是否有任何方法可以从cfthread获得cfchart输出。

EN

回答 3

Stack Overflow用户

发布于 2012-03-13 21:22:07

尝试在cfchart调用周围放置一个自定义标记,并将生成的内容捕获到一个变量中-然后使用线程作用域访问它。我不确定这是否会起作用(取决于你的输出格式)。

票数 0
EN

Stack Overflow用户

发布于 2012-03-13 21:46:40

我还没有测试过这一点,这只是一个想法,但您可以尝试将cfchart放入cfsavecontent块中。

票数 0
EN

Stack Overflow用户

发布于 2016-10-28 03:48:46

我能够使用cfsavecontent保存并生成带引号的cfcharts。

只需确保使用的任何查询/数据变量都保存在cfsavecontent块中(我在这一部分遇到了问题;如果你不小心,作用域就会有点不稳定)

代码语言:javascript
复制
<body> 
<cfloop array="#uuids#" index="uuid" >

   <cfthread action="run" name="t#threadCount#" output="to#threadCount#">
        <cfsavecontent variable="thisContent">
           <cfquery name="thisQuery" datasource="dsource">
              ...
           </cfquery>
        <cfchart >
           ...
        </cfchart>
       </cfsavecontent>
    </cfthread>
 ...
</cfloop>

<cfloop array="#uuids#" index="uuid" >
    <cfthread action="join" name="t#threadCount#"/>
    #thisContent#
 </cfloop>
</body>

我遇到的问题是动态变量命名/调用。我确信这是一个非常容易解决的问题,但是如果我用我知道要创建的名称来调用每个内容,它就会显示出来--尽管这违背了使用动态变量的目的。但这完全是另一回事!答案是肯定的,您可以在cfthread中使用cfsavecontent和cfcharts。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9684351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档