`
sammyfun
  • 浏览: 1163500 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

动态生成表格

 
阅读更多
Java代码 
<html> 
<script> 
function dy(){ 
    var row=document.createElement("tr"); 
    var cell=document.createElement("td"); 
    cell.appendChild(document.createTextNode("afsafaf")); 
    row.appendChild(cell); 
    document.getElementById("newbody").appendChild(row); 

 
</script> 
<body> 
<br> 
<a name="top" href="#here">go here</a> 
<br> 
<input type=button value="动态生成" onclick="dy()"/> 
<br> 
<table> 
    <tbody id="newbody"></tbody> 
</table> 
<br> 
 
</body> 
</html> 



javascript控制table
var table = document.getElementById("tableId")
增加一行:table.insertRow()   //默认添加到最后一行,添加到指定行用insertRow(index)方法
删除一行:table.deleteRow() //默认删除最后一行,删除指定行用deleteRow(index)方法
增加一列:table.insertCell()   //默认添加到最后一列,添加到指定列用insertCell(index)方法
删除一列:table.deleteCell()   //默认删除最后一列,删除指定列用deleteCell(index)方法
统计列数:table.rows.item(0).cells.length
统计行数:table.rows.length
设置单元格colspan:cell.colSpan=2 //注意区分大小写, 如果写colspan会报错
获得单元格宽:table.rows[0].cells[0].offsetWidth
获得单元格高:table.rows[0].cells[0].offsetHeight
设置单元格高度:talbe.rows[0].cells[0].width = xxx

说明:
附录:
insertRow() 方法用于在表格中的指定位置插入一个新行。
语法
tableObject.insertRow(index)
返回值
返回一个 TableRow,表示新插入的行。
说明
该方法创建一个新的 TableRow 对象,表示一个新的 <tr> 标记,并把它插入表中的指定位置。
新行将被插入 index 所在行之前。若 index 等于表中的行数,则新行将被附加到表的末尾。
如果表是空的,则新行将被插入到一个新的 <tbody> 段,该段自身会被插入表中。
抛出
若参数 index 小于 0 或大于等于表中的行数,该方法将抛出代码为 INDEX_SIZE_ERR 的 DOMException 异常。

转载于http://blog.csdn.net/cctt_1/archive/2008/01/21/2057233.aspx

javascript动态生成Table是在迫不得以的情况下使用。因为表格会耗费大量的时间进行重绘。 而且如果窗口变化了,还会引起意想不到的格式变化。所以最好不要使用。
先在<form>中添加一个<div id='divTable'></div>下面就可以使用javascript代码来做这个事情:
function createTable(divName)

{

    var div = document.getElementById(divName);
    var table = document.createElement("table");//创建table
    var row = table.insertRow();//创建一行
    var cell = table.insertCell();//创建一个单元
    cell.width = "10";//更改cell的各种属性
    cell.style.backgroundColor = "#999999";
}


你还可以发挥下想象力动态地创建各种各样的控件。上面的function是放置JS文件中的。
如果在html中的调用<script type="..." src="*.js"></script>
这里是创建了一个Table的元素,但是还没有加载到div层中去。
这里最好不使用div.innerHTML也不要使用div.innerText
要使用div.appendChild(table);

Java代码 
var obj = document.createElement("table"); 
    var tbody = document.createElement("tbody"); 
    var tr = document.createElement("tr"); 
    var td = document.createElement("td"); 
    td.innerText = "AAA" 
    tr.appendChild(td); 
    tbody.appendChild(tr); 
    obj.appendChild(tbody); 
    document.all.Form1.appendChild(obj); 
    var obj2 = new Array(); 
    for (var i=0;i<5;i++) 
    {     
        obj2[i] = obj.cloneNode(true); 
        obj2[i].setAttribute("border","1"); 
        document.all.Form1.appendChild(obj2[i]); 
    } 
     


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript 动态生成表格</title>
</head>
<body>
<form id="form1" name="form1">
<table id="oTable">
<tbody id="oTBody">
</tbody>
</table>
<SCRIPT LANGUAGE="JScript">
function test()
{
var inputs=document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].type=="text")
{
alert(inputs[i].id+"="+inputs[i].value);
}
}
}
// 接收参数<可修改>;
var rowNumbers=3; // 行;
var colNumbers=4; // 列;
// 设置表格属性;
var oCaption = oTable.createCaption(); // 在表格中创建空的 caption 元素;
var oTHead = oTable.createTHead(); // 在表格中创建空的 tHead 元素;
var oTFoot = oTable.createTFoot(); // 在表格中创建空的 tFoot 元素;
var oRow, oCell;
var heading = new Array();
/*-------------列数 start------<head>-------*/
for(var i=0;i<colNumbers+1;i++)
{
if(i==0)
{
heading[i]="";
}
else
{
heading[i]="S"+(i);
}
}
oRow = oTHead.insertRow(); // insertRow()方法:在表格中创建新行(tr),并将行添加到 rows 集合中;
for (k=0; k<colNumbers+1; k++)
{
oCell = oRow.insertCell(); // insertCell()方法: 在表格行(tr)中创建新单元格,并将单元格添加到 cells 集合中;
oCell.align = "center";
oCell.style.fontWeight = "bold";
oCell.style.color="#ffffff";
oCell.innerHTML =heading[k];
if(k==0)
{
oCell.bgColor = "#ffffff";
}
else
{
oCell.bgColor = "#666666";
}
}
/*-------------列数 end-------------*/
/*-------------行数 start----<tbody>---------*/
var stock = new Array;
for(var i=0;i<rowNumbers;i++)
{
for(var j=0;j<colNumbers;j++)
{
if(j==0)
{
stock[""+i+","+j+""]="R"+(i+1);
}
else
{
stock[""+i+","+j+""]=j;
}
}
}
for (i=0; i<rowNumbers; i++)
{
oRow = oTBody.insertRow();
for (j=0; j<colNumbers+1; j++)
{
oCell = oRow.insertCell();
// 背景色;
if(j==0)
{
oCell.bgColor = "#999999";
}
else
{
oCell.bgColor = "#ffffff";
}
if(j==0)
{
oCell.innerHTML = stock[i + "," + j];
}
else
{
oCell.innerHTML = "<input type='text' id='"+stock[i+","+0]+"_S"+j+"' name='"+stock[i+","+0]+"_S"+j+"' value='' />";
}
}
}
/*-------------行数 end-------------*/
/*----------------------foot start*/
oRow = oTFoot.insertRow();
oCell = oRow.insertCell();
oCell.innerText="Author:maomao";
oCell.colSpan = colNumbers+1;
oCell.style.fontSize = "12";
oCell.align="center";
oCell.bgColor = "ffffff";
oCaption.innerText = "alan.xue@ebizserve.com"
oCaption.style.fontSize = "12";
oCaption.align = "bottom";
/*----------------------foot end*/
function $(id) {
return document.getElementById(id);
}
</SCRIPT>
<input type="button" value="测试" onclick="javascript:test();" />
</form>
</body>
</html>



<html> 
<script> 
function dy(){ 
    var row=document.createElement("tr"); 
    var cell=document.createElement("td"); 
    cell.appendChild(document.createTextNode("afsafaf")); 
    row.appendChild(cell); 
    document.getElementById("newbody").appendChild(row); 

 
</script> 
<body> 
<br> 
<a name="top" href="#here">go here</a> 
<br> 
<input type=button value="动态生成" onclick="dy()"/> 
<br> 
<table> 
    <tbody id="newbody"></tbody> 
</table> 
<br> 
 
</body> 
</html> 
分享到:
评论

相关推荐

    extjs动态生成表格,前台+后台

    在本文中,我们将深入探讨如何使用ExtJS框架在前端动态生成表格,并结合后端数据进行展示。ExtJS是一个强大的JavaScript库,专用于构建富客户端Web应用程序,尤其在创建交互式用户界面方面表现突出。动态生成表格是...

    最简单的动态生成表格并实现不同框架打印

    在IT领域,动态生成表格和跨框架交互是网页开发中的常见需求。动态表格允许开发者根据用户操作或服务器数据实时更新页面内容,而框架结构则能帮助组织和管理复杂的页面布局。下面将详细解释这两个概念以及如何实现...

    js动态生成表格

    在JavaScript(JS)中动态生成表格是一项常见的任务,特别是在网页交互和数据展示中。这篇文章将深入探讨如何利用JS实现这一功能,以及相关的源码和工具。 首先,我们要明白HTML表格的基本结构,它由`&lt;table&gt;`、`...

    Android开发之动态生成表格及其边框

    ### Android开发之动态生成表格及其边框 #### 一、引言 在Android应用开发过程中,经常需要根据用户的操作或数据的变化动态地调整界面显示,其中动态生成表格及其边框是一项常见需求。本文将详细介绍如何在Android...

    jquery实现动态生成表格

    数据展示时候,经常从后台传入大小不等的矩阵。这里给出了根据不同矩阵大小,通过jquery的html()和append()方法动态生成html表格的实例。

    04-动态生成表格案例.html

    04-动态生成表格案例.html

    三种js 动态生成表格的方法

    这是一个简单的js动态生成表格。。里面有三种生成表格的方法‘’‘’‘’‘’

    案例:动态生成表格.html

    动态生成删除表格,没有相关的数据库,主要是存在数组里面的数据来进行删除,设计的重点主要是对节点的操作

    动态生成表格(ASP)

    在IT行业中,动态生成表格是一种常见的需求,尤其是在Web开发领域。ASP(Active Server Pages)是微软推出的一种服务器端脚本语言,它允许开发者创建交互式的、动态生成的网页。随着技术的发展,ASP已经进化到ASP...

    超全面javaweb第4天- 16 案例六动态生成表格

    超全面javaweb第4天-_16_案例六动态生成表格

    docx4j 动态生成表格 (一 )

    《docx4j 动态生成表格(一)》这篇博文主要探讨了如何使用docx4j库在Java环境中动态创建Word文档中的表格。docx4j是一个强大的开源Java库,它允许开发者对OpenXML格式(如.docx、.xlsx等)进行深度操作,包括创建、...

    PHP环境下动态生成表格

    PHP 环境下动态生成表格 本文主要介绍了在 PHP 环境下动态生成表格的方法。表格的 HTML 代码中,&lt;tr&gt;...实际代表着表格的“行”,而介于&lt;tr&gt;...之间的代码标签&lt;td&gt;...等同于表格的“列”。在 PHP 环境下,我们要...

    android表格控件动态生成表格源码

    本资源"android表格控件动态生成表格源码"提供了一种解决方案,它基于Eclipse IDE,可以帮助开发者实现动态生成表格的功能,同时解决了表格内容显示不全的问题,通过集成滚动条确保所有数据都能被用户查看。...

    C#实现动态生成表格的方法

    在C#编程中,动态生成表格是一项常见的任务,特别是在网页应用、数据分析或报表展示等场景。本篇文章将详细解析如何使用C#实现动态生成表格的方法,以便为开发者提供实用的指导。 首先,我们需要理解动态生成表格的...

    动态生成表格工具类

    在IT行业中,动态生成表格是一项常见的需求,尤其是在数据展示、报表生成或用户交互场景下。本文将基于"动态生成表格工具类"这一主题,详细探讨如何利用Java编程语言来实现这样的功能。 首先,理解动态生成表格的...

    JavaScript动态生成表格案例

    这是一个动态生成表格的 HTML 页面,使用了 JavaScript 动态生成表格内容。这个表格显示了一组学生的成绩信息,包括姓名、科目和得分,并提供了删除操作。 在页面中,先声明了一个 table 元素,并设置了 id 为 ...

    js动态生成表格行列特效.zip

    在JavaScript编程中,动态生成表格是一项常见的需求,特别是在网页交互设计中。本示例"js动态生成表格行列特效.zip"提供了实现这一功能的实例代码,包括HTML5、JavaScript和CSS三部分,允许开发者创建出具有视觉吸引...

Global site tag (gtag.js) - Google Analytics