html中表格的动态操作

王朝html/css/js·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

因为做的项目中,需要实现这样一个功能,在html页面中的表格行,要求可以由用户来自行调整上下的顺序。不知道现有的技术能否实现这样功能,有待研究一下。在这之前已经知道并应用过,可以通过脚本来动态创建表格,但仅用了其中很简单的功能而已。昨天上班时特意下载了一份中文的微软DHTML参考手册,今天晚上正好来仔细研究一下其中的table对象。首先研究了如何实现所需要的功能,查看tr对象的方法,发现最后有一个swapNode的方法,看了这个方法的详细说明(是英文的,看来这本手册也没有完全翻译成中文,还好也能看懂),交换html文档中的两个对象。那只要把两个tr对象交换一下不就可以实现我所需要的功能了,原来如此简单。另一个问题是,我需要知道当前操作的行(tr)在表格中是第几行,当然可以自己定义参数传递,但比较麻烦,一旦行交换后,这个行对象(tr)所对应的参数也要变化,写程序不是很方便。再看tr的属性,有一个叫rowIndex的属性,可以取得当前行位于表格中的第几行,正是所需要的。根据以上的两个方法,很快就实现了所需要的功能。具体看例子:

<SCRIPT type=text/javascript>

function goup(tr) {

var cur = tr.rowIndex;

if (cur>0) {

oTable.rows(cur).swapNode(oTable.rows(cur-1));

}

}

function godown(tr) {

var cur = tr.rowIndex;

if (cur<oTable.rows.length-1) {

oTable.rows(cur).swapNode(oTable.rows(cur+1));

}

}

function save() {

for(i=0;i<oTable.rows.length;i++) {

alert(oTable.rows[i].id);

}

}

</SCRIPT>

<P align=center><INPUT onclick=save() type=button value=保存></P>

<TABLE id=oTable align=center border=1>

<TBODY>

<TR id=tr1>

<TD>1</TD>

<TD><INPUT onclick=goup(tr1) type=button value=up></TD>

<TD><INPUT onclick=godown(tr1) type=button value=down></TD></TR>

<TR id=tr2>

<TD>2</TD>

<TD><INPUT onclick=goup(tr2) type=button value=up></TD>

<TD><INPUT onclick=godown(tr2) type=button value=down></TD></TR>

<TR id=tr3>

<TD>3</TD>

<TD><INPUT onclick=goup(tr3) type=button value=up></TD>

<TD><INPUT onclick=godown(tr3) type=button value=down></TD></TR>

<TR id=tr4>

<TD>4</TD>

<TD><INPUT onclick=goup(tr4) type=button value=up></TD>

<TD><INPUT onclick=godown(tr4) type=button value=down></TD></TR></TBODY></TABLE>

问题解决了,再来看看table中有什么好用的东西,有新的发现再报告。

1.table的RULES属性:可以设置表格的分隔线是否显示 all:显示所有表格线 cols:显示内部竖线和外框 rows:显示内部横线和外框 none:只显示外框,所有内部线都不显示 groups:显示外框,内部横线在THEAD,TBODY,TFOOT对象之间显示,竖线在所有的colGroup对象之间显示。

不设置该属性时,如果定义了表格(table)的border属性,则显示所有的表格线,如果没有定义border属性,则全部不显示,包括外框。

2.frame属性,类似于RULES,也是用来设置表格的边框是否显示 3.moveRow方法:table中还有一个moveRow的方法,也可以用来实现行的交换 4.关于绑定数据的研究:table的dataSrc属性可以给表格绑定一个数据源,表格中显示该数据源的内容,然后可以调用table的firstPage,lastPage,nextPage,previousPage等方法方便快速的实现翻页,可以用dataPageSize来指定每页显示的记录数。只初步的了解这些,日后在仔细研究关于绑定数据源的做法。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航