蛙蛙请教:动态拼接表格问题的解决

原创 2005年04月22日 14:59:00

蛙蛙请教:动态拼接表格问题的解决
问题是这样的,我想从数据库取出记录后输出以下形式的表格,就是每4个记录集生成一个table,在每个table里分两行两列显示每个recordset,怎么动态生成呀?注意表格里有个ID的属性要从0开始递增
<table border=1 id=0><tr><td>rs(0)</td>
<td>rs(0)</td></tr><tr>
<td>rs(0)</td>
<td>rs(0)</td></tr></table>

<table border=1 id=1><tr><td>rs(0)</td>
<td>rs(0)</td></tr><tr>
<td>rs(0)</td>
<td>rs(0)</td></tr></table>

我们平时输出的记录集都是一行一个记录,偶尔也有分栏显示的,一行显示N个记录的,单这次还得在这个基础上每4个封闭一个表格,你还得保证生成的表格不能只有开标签没有闭标签的情况.

把问题转换一下
用1到某个数之间的数字生成一下表格,用js的document.write方法也行
其实说白了,这是一个算法问题

<table border=1 id=0><tr><td>1</td>
<td>2</td></tr><tr>
<td>3</td>
<td>4</td></tr></table>

<table border=1 id=1><tr><td>5</td>
<td>6</td></tr><tr>
<td>7</td>
<td>8</td></tr></table>

......以下省略,我想大家一定看出规律来了吧,还得考虑如果终止数不能被4整除的情况下还得保证生成的HTML标签的正确性,不能缺半拉,也不能显示不好,必要的时候还得考虑一个表格里上面一行显示2数字,而下面一行显示1个数字的情况,这样下面那个单元格必须跨两个单元格,比如说7的时候

问题解决,写了一上午才写出下面的算法
<SCRIPT LANGUAGE="JavaScript">
<!--
var j,max,str;
max = 100;
str="";
j=0;
for(var i = 1;i <= max;i++){
 if(i % 4 == 1){
  str += ("<table border=1 id=" + (j++) + "><tr><td>" + i + "</td>");
  if(i == max) str += ("</tr></table>");
 }
 if(i % 4 == 2){
  str += ("<td>" + i + "</td>");
  if(i == max){
   str += ("</tr></table>");
  }else{
   str += ("</tr><tr>");
  }
 }
 if(i % 4 == 3){
  str +=("<td")
  if(i == max) str +=(" colspan=2")
  str +=(">" + i + "</td>");
 }
  if(i % 4 == 0) str +=("<td>" + i + "</td></tr></table>");
}
//document.write(str);
//alert(str);
//-->
</SCRIPT>
<SCRIPT LANGUAGE="vbScript">
<!--
dim j,max,str
max=8
j=0
str=""
dim i
for i=0 to max
 if (i mod 4 = 1) then  
  str = str & "<table border=1 id=" & j & "><tr><td>" & i & "</td>"
  if (i = max) then str = str & "</tr></table>"
  j = j+1
 end if
 if(i mod 4 = 2) then
  str = str & "<td>" & i & "</td>"
  if(i = max)then
   str = str & "</tr></table>"
  else
   str = str & "</tr><tr>"
  end if
 end if
 if(i mod 4 = 3) then
  str = str & "<td"
  if(i = max) then str = str & " colspan=2"
  str = str &">" & i &"</td>"
 end if
 if(i mod 4 = 0 and i<>0) then str = str& "<td>" & i & "</td></tr></table>"
next
document.write(str)
'msgbox(str)
//-->
</SCRIPT>

相关文章推荐

Java iText 动态 生成 PDF 文档表格中文问题

iText是一个开发源代码的项目,你可以使用iText方便的实现PDF的输出。     一、iText的下载:     你可以在 http://www.lowagie.com/...

html中后台动态绑定数据表格存在空白单元格问题

因为要做一个客户管理系统,在设置表格的时候在表格样式的时候,因为对table标签的相关属性不是很了解,出现一些小的波折 先记录下这个比较好看的table样式 #mytable { pad...

关于jquery实现动态创建表格和动态显示数据的问题?

可执行的代码: %@page contentType="text/html" pageEncoding="UTF-8" import="java.sql.*"%> http://www.w3.or...

用VB解决WORD中的表格问题

  • 2010年05月04日 09:47
  • 5KB
  • 下载

使用Rocker模板引擎解决动态拼接SQL语句的问题

相信大部分服务端程序员都和我有一样的感觉,就是在Java代码里根据条件拼接SQL语句是个技术含量很低,又很麻烦,还容易出错的问题。 最简单直观的方式当然是用String/StringBuffer/St...

word 2010 标题行重复设置方法及表格标题行无法重复显示问题的解决方法

第1步,打开Word2007文档窗口,在Word表格中选中标题行(必须是表格的第一行)。在“表格工具”功能区切换到“布局”选项卡,然后在“表”分组中单击“属性”按钮,如下图所示。    第2步,在...

kindeditor从word粘贴表格不显示边框,kingeditor文字图片混排溢出——问题已解决

kindeditor编辑器问题

解决页面表格中长英文字符串不能自动换行的问题

有时候页面表格中内容太多,无奈怎么设置样式都调整不了,我只在表格内容全是英文的时候发现有这个问题,可以尝试通过下面的方法解决。 英文字母之间如果没有空格,系统认为这是一个单词,就不会自动...
  • qmyzch
  • qmyzch
  • 2016年11月02日 15:11
  • 1243
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:蛙蛙请教:动态拼接表格问题的解决
举报原因:
原因补充:

(最多只允许输入30个字)