0

我在 Coldfusion 8 中。我有一个由循环生成的表。非常复杂的代码,但我在这里放了一些:

    <cfloop array = #qrep.getColumnList()# index = "col">                   
        <cfset l = l + 1> 
    <cfif l EQ tindx - 1>
    <cfset prevcol= col>
    </cfif>
     <cfif linefold GT 0>
           <cfset lmod = i%linefold>
           <cfelse>
           <cfset lmod = 1>
           </cfif>
        <!--- printing detail ---> 
        <cfif l LE m AND repdetail NEQ 'n'> 

        <td class = "repsubthead"> Subtotal: 
         <b>#qrep[col][currentrow]#</b></td>
        </cfif>

       <!--- printing totals only; row labels --->
       <cfif repdetail EQ 'n' AND l EQ tindx > 

       <cfset frowarr[footrow] = qrep[col][currentrow]>              
       <cfset footrow_1 = footrow - 1>               

              <cfif footrow EQ 1>
              <td style = "font-size: 13px" > #qrep[col][currentrow]#</td>                   
              <cfelseif frowarr[footrow] NEQ frowarr[footrow_1]  >
              <td style = "font-size: 13px;"> #qrep[col]currentrow]#</td>                    
              <cfelse>
              <cfset testrow = footrow>
              <td class = "repsubthead" style = "padding-top: 10px"> Total #qrep[prevcol] currentrow]# </td>              
              </cfif> 
       .... lots more before we get to end of loop

这部分代码为每一行打印出一个行标签。在程序中还有一个类似的循环来打印行的值。除了一个我无法追踪的问题外,一切都运行良好。一个额外的行被插入到一个位置,其中没有数据。表的一部分在这里:

State:   CT  
AVS             25.00
COMB            15.00
Email2010       15.00
REF             75.00
STRLST01        22.00
  extra row inserted here, height much smaller than other rows
STRLST04        50.00
Total CT       202.00 

我已将此表复制到 Libre Office 文档并放大错误行。它肯定在那里,并且它包含一个看起来像这样的闪烁项目:'

尽管我可以删除整行,但我无法从 Libre Office 的行中删除此项目。当我将光标放在另一行时,闪烁的东西消失了。

我在我的 MySQL 数据库中检查了 STRLST01 和 STRLST04,它们看起来都很好,没有异常。我在我的代码中找不到要插入额外行的任何地方(尽管代码非常复杂)。

有没有人见过这样的东西?有谁知道可能是什么原因造成的?

4

2 回答 2

2

在这里只是在黑暗中拍摄……但请尝试对您的餐桌内容进行消毒。例如:

#htmlEditFormat(qrep[col][currentrow])#

这将排除“STRLST01”中的 TR 没有被处理为<TR>. 我见过像这样的动态表格,因为内容被解释为 HTML。

MC

于 2013-09-12T19:10:53.740 回答
0

生成的 HTML 是什么?查看实际生成的输出而不是呈现的输出可以帮助您发现是否是坏数据被转储到另一行,或者它是否是您的 HTML 生成例程中的错误。

如果它是数据中的一个奇怪的特殊字符,HTMLEditFormat() 或 XMLFormat() 函数应该找到它并处理它。或者至少使故障排除变得更容易。

于 2013-09-12T21:46:40.753 回答