奇怪的bug在表中

时间:2013-09-12 18:54:15

标签: coldfusion coldfusion-8

我在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,看起来很好,没有任何异常。我无法在我的代码中找到任何可以插入额外行的地方(尽管如此,代码非常复杂)。

有没有人见过这样的东西?有没有人知道可能导致这种情况的原因?

2 个答案:

答案 0 :(得分:2)

只是在黑暗中拍摄......但尝试清理你的桌面内容。例如:

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

这将排除“STRLST01”中的TR未被处理为<TR>。我已经看到像这样的动态表变得混乱,因为内容被解释为HTML。

MC

答案 1 :(得分:0)

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

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