html中动态分级表头的实现
来源:互联网 发布:交换机网管软件 编辑:程序博客网 时间:2024/05/01 20:47
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
</HEAD>
<BODY>
<div id="report">
</div>
<br>
<input type="button" value="create" onclick="create()">
<script>...
function create()
...{
var datas = [
['基期1','分类1','指标1','上期','1'],
['基期1','分类1','指标1','同期','2'],
['基期1','分类1','指标2','上期','3'],
['基期1','分类2','指标1','同期','4'],
['基期1','分类1','指标3','上期','5'],
['基期1','分类2','指标4','同期','6'],
['基期1','分类2','指标4','上期','7'],
['基期1','分类3','指标1','同期','8'],
['基期1','分类3','指标2','上期','9'],
['基期1','分类4','指标1','同期','10'],
['基期2','分类1','指标2','上期','11'],
['基期3','分类1','指标3','上期','12'],
['基期4','分类2','指标1','上期','13'],
['基期4','分类1','指标2','同期','14'],
['基期4','分类2','指标1','同期','15'],
['基期4','分类2','指标1','本季','16'],
['基期4','分类2','指标2','上期','17'],
['基期4','分类1','指标1','上期','18']
];
var row = 0;
var col = 0;
var col1s = [];
var count = datas.length;
var pos = new Array(count);
var rowName = [];
//debugger;
for(i = 0; i < count ; i++)
...{
var data = datas[i];
pos[i] = new Object();
pos[i].row = -1;
pos[i].col = -1;
pos[i].value = data[4];
for(j = 0 ; j < rowName.length; j ++)
...{
if(rowName[j] == data[0])
...{
pos[i].row = j;
break;
}
}
if(pos[i].row == -1)
...{
pos[i].row = rowName.length;
rowName.push(data[0]);
}
var col1 = '';
var col2 = '';
var col3 = '';
for(j = 0 ; j < col1s.length; j ++)
...{
if(col1s[j].name == data[1])
...{
col1 = col1s[j];
break;
}
}
if(col1 == '')
...{
col1 = new Object();
col1.name = data[1];
col1.col2s = [];
col1.col = 0;
col1s.push(col1);
}
for(j = 0 ; j < col1.col2s.length; j ++)
...{
if(col1.col2s[j].name == data[2])
...{
col2 = col1.col2s[j];
break;
}
}
if(col2 == '')
...{
col2 = new Object();
col2.name = data[2];
col2.col3s = [];
col1.col2s.push(col2);
}
for(j = 0 ; j < col2.col3s.length; j ++)
...{
if(col2.col3s[j].name == data[3])
...{
col3 = col2.col3s[j];
col3.index.push(i);
break;
}
}
if(col3 == '')
...{
col3 = new Object();
col3.name = data[3];
col3.index = [];
col3.index.push(i);
col2.col3s.push(col3);
col ++;
col1.col ++;
}
}
//col1s[0].
//alert(col);
//alert(col1s[0].col);
var tr = '<tr><td>' + ' ' + '</td>';
var tr2 = '<tr><td>' + ' ' + '</td>';
var tr3 = '<tr><td>' + ' ' + '</td>';
var ind = 0;
for(j = 0 ; j < col1s.length; j ++)
...{
tr += '<td align="center" colspan="' + col1s[j].col + '">' + col1s[j].name + '</td>'
;
for(i = 0 ; i < col1s[j].col2s.length; i ++)
...{
tr2 += '<td align="center" colspan="' + col1s[j].col2s[i].col3s.length + '">' +
col1s[j].col2s[i].name + '</td>' ;
for(k = 0 ; k < col1s[j].col2s[i].col3s.length; k ++)
...{
var node = col1s[j].col2s[i].col3s[k];
tr3 += '<td align="center">' + node.name + '</td>' ;
var indexs = node.index;
for(var l = 0; l < indexs.length; l ++)
...{
pos[indexs[l]].col = ind;
}
ind ++;
}
}
}
tr2 += '</tr>';
tr3 += '</tr>';
tr += '</tr>';
tr += tr2;
tr += tr3;
var erow = rowName.length;
for(k = 0; k < erow ; k ++)
...{
tr += '<tr><td>' + rowName[k] + '</td>';
for(j = 0 ; j < col; j ++)
...{
tr += '<td>' + ' ' + '</td>' ;
}
tr += '</tr>';
}
report.innerHTML = '<table id="rep" align="center" border=1>' + tr + '</table>';
for(i = 0; i < count ; i++)
...{
var r = pos[i].row + 3;
var c = pos[i].col + 1;
rep.rows[r].cells[c].innerHTML = pos[i].value;
}
}
</script>
</BODY>
</HTML>
- html中动态分级表头的实现
- HTML中单击Table表头实现排序
- html固定table表头的实现思路
- html 中固定表头的 table
- html实现复杂表头
- easyUI实现动态表头
- easyui 实现动态表头
- 在HTML中实现动态的时钟
- 分级查询的实现
- C#中实现动态隐藏/显示RDLC报表的表头(列)
- easyui datagrid 动态表头 动态columns 的一种实现方式
- ALV的html表头
- Flex中DataGrid多表头的实现
- Flex中DataGrid多表头的实现
- 推荐:用CSS实现的固定表头的HTML表格
- 用CSS实现的固定表头的HTML表格
- html Table实现表头固定
- html Table实现表头固定
- 关于如何提高邮件营销的成功率心得分享?
- 技术人员为什么当不好老板
- Android屏幕切换
- 找创业伙伴,比找老婆还难
- Application.DoEvents
- html中动态分级表头的实现
- Amoeba源代码导入eclipse的方法
- 心期又误----春又来看红豆开
- JavaScript:键盘keyCode值列表,及keyCode的应用
- 第四次工业革命浪潮从何开始?
- 万能YUV播放器RawViewer
- P系列小型机AA060011问题
- 修改桌面、我的文档等的路径
- osx程序自启动