如何格式化ASP Classic中嵌套循环导致的嵌套表格

时间:2013-11-07 16:14:05

标签: html css asp-classic html-table nested-loops

我正在使用经典ASP(VB脚本)页面中的嵌套循环,我想要一些关于显示数据的最有效方式的输入。

数据当前显示在“父”表和“子”(嵌套)表中。 “父”表(来自外部数据循环)包含“目标”,“子”表由“目标”形成,“目标”使用目标ID选择正确的目标数据。

因此,内部表是使用目标数据及其依赖的实施数据,结果数据和结果审查数据形成的,因此内部表中有4列:目标,实施,结果和目标审查

这是基本想法的图像 basic nested table design

在图像中,Objective循环在父表的列中迭代x次,形成子表。 是否有可靠的方法来对齐父表和子表的列,以便父表中的列标题将与子表中的匹配列对齐?

非常感谢

1 个答案:

答案 0 :(得分:1)

我认为这里不需要嵌套表。只需重复每个子行的父信息,或者为第一个子项以外的所有子行放入空白单元格,或者 - 如果从一开始就知道将有多少子行 - 将其放入父单元格的行标。

这是我通常如何做的一个非常粗略的概述,即除第一个孩子外,为所有人提供空白单元格。 (实际上,for-next循环可能是do until rs.EOF或其中一些,数据直接来自数据库而不是加载到数组中,但想法是一样的。)

for p = 1 to nParent
   isTop = True
   for c = 1 to nChild
      response.write "<tr>"
      if isTop then
         response.write "<td>" & parent(p,1) & "</td>"
         ' etc.
      else
         response.write "<td>&nbsp;</td>"
      end if
      isTop = False
      response.write "<td>" & child(c,1) & "</td>"
      ' etc.
      response.write "</tr>"
   next
next