js创建10万行表格 页面显示10万行数据

<html>
<head></head>
<style>
table
{
    border-collapse:collapse;
    table-layout:fixed;
    overflow:hidden;
}
td
{
    overflow:hidden;
    white-space: nowrap;
}
--></mce:style><style mce_bogus="1">table
{
    border-collapse:collapse;
    table-layout:fixed;
    overflow:hidden;
}
td
{
    overflow:hidden;
    white-space: nowrap;
}
</style>
<script src="jquery-1.3.2.min.js"></script>
<body>
<input type=button οnclick=createTable() value='创建表格:使用 thead'>
<input type=button οnclick=createTable(1) value='创建表格:使用 colgroup'>
<br>
<input type=button οnclick=hideCol(1) value='隐藏第 2 列'>
<input type=button οnclick=showCol(1) value='显示第 2 列'>
 
<input type=button οnclick=hideCol_fast(1) value='快速隐藏第 2 列'>
<input type=button οnclick=showCol_fast(1) value='快速显示第 2 列'>
<div id=tableBox></div>
<script type="text/javascript">
var tableRowsLen = 10000; // 创建万行表格

//--------------------------------------------------------
// 时间转为时间戳(毫秒)
function time2stamp(){var d=new Date();return Date.parse(d)+d.getMilliseconds();}

//--------------------------------------------------------
// 创建表格
function createTable(isUseColGroup)
{
    var t1 = time2stamp();
    if (isUseColGroup) // 使用 colgroup 标签
    {
        var str = "<table border=1>" +
                    "<colgroup>" +
                            "<col width=100 class=col1 />" +
                            "<col width=200 class=col2/>" +
                            "<col width=50 class=col3/>" +
                    "<\/colgroup>" +
                    "<tbody>";
    }
    else
    {
        // 使用 thead 标签
        var str = "<table border=1>" +
                    "<thead>" +
                        "<tr>" +
                            "<th width=100 class=col1>col1<\/th>" +
                            "<th width=200 class=col2>col2<\/th>" +
                            "<th width=50 class=col3>col3<\/th>" +
                        "<\/tr>" +
                    "<\/thead>" +
                    "<tbody>";
    }

var arr = [];
    for (var i=0; i<tableRowsLen; i++)
    {
        arr[i] = "<tr><td class=col1>" + i + "--1<\/td><td class=col2>" + i + "--2</td><td class=col3>" + i + "--3<\/td></tr>";
    }
    str += arr.join("") + "</tbody><\/table>"; // 用 join() 方式快速构建字串,速度极快
    tableBox.innerHTML = str; // 生成 table
    var t2 = time2stamp();
    alert("耗时:" + (t2 - t1) + " 毫秒");

}

//--------------------------------------------------------
// 隐藏/显示指定列
function hideCol(colIdx){hideOrShowCol(colIdx, 0);}
function showCol(colIdx){hideOrShowCol(colIdx, 1);}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function hideOrShowCol(colIdx, isShow)
{
    var t1 = time2stamp(); //
    var table = tableBox.children[0];
    var rowsLen = table.rows.length;
    var lastTr = table.rows[0];

if (rowsLen > 1001)
    {
        if (!confirm("将要对 1000 行以上的表格操作,这将非常耗时(甚至导致浏览器死掉)。\n您确定要继续吗?"))
            return;
    }

for (var i=0; i<rowsLen; i++)
    {
        var tr = table.rows[i];
        tr.children[colIdx].style.display = isShow ? "" : "none";
    }
   
    var t2 = time2stamp();
    alert("耗时:" + (t2 - t1) + " 毫秒");
}

//--------------------------------------------------------
// 隐藏/显示指定列 - 快速
function hideCol_fast(colIdx){hideOrShowCol_fast(colIdx, 0);}
function showCol_fast(colIdx){hideOrShowCol_fast(colIdx, 1);}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function hideOrShowCol_fast(colIdx, isShow)
{
    var t1 = time2stamp(); //
    var table = tableBox.children[0];
    var thead = table.children[0]; // 可能是 thead 或者 tbody,也可能是 colgroup
    if (thead.tagName.toLowerCase()=="colgroup") // 对 colgroup 特殊处理
    {
        var td = thead.children[colIdx];
    }
    else
    {
        // 注意:如果表格没有 thead 和 tbody 标签,则 table.children[0] 是 tbody
        var tr = thead.children[0];
        var td = tr.children[colIdx];
    }
    td.style.width = 0;
   
    var t2 = time2stamp();
    alert("耗时:" + (t2 - t1) + " 毫秒");
}

//--------------------------------------------------------
createTable();
</script>
</html>

肯定知道-精品推荐:

1、一个土八路凭什么让冈村宁次都忌惮?

2、二战时期仅有的国军开坦克追日本兵,都压成肉酱了!!!

3、军事奇迹:看一书生7000人马横扫大半个中国的奇迹

4、国军悍将创造军事奇迹后为什么会投降日军?

5、国军战神曹锡,一人消灭日军一个大队!

6、flash无法覆盖的问题_三种办法可以解决flash覆盖其他元素

7、南海石油30年疯狂开采,到底还剩多少?

8、送礼国家也收税?莫不是都疯啦?

9、古代第一美女的悲惨结局

10、中国空军光棍节轰炸日本航母“龙骧”号

11、日本本土史上第一次空袭竟是中国轰炸机

12、中原大战中老将的王牌战将为何被害?

13、刷流量软件-免费刷流量工具-软件

转载于:https://www.cnblogs.com/javaspring/archive/2011/07/11/2656352.html

js创建10万行表格 页面显示10万行数据相关推荐

  1. qt在表格中如何画线_Qt如何在表格中显示和编辑数据

    请耐心等待,因为这是一个稍微有点主观的问题,但我知道最佳实践后可能是常见情况.Qt如何在表格中显示和编辑数据 我有拆分到其中我使用Qt来操纵多个(源码)表中的数据. (sql)视图是显示多个表中数据的 ...

  2. layui在搜索的时候没有数据,在表格中显示暂无数据

    layui在搜索的时候没有数据,在表格中显示暂无数据 网上有很多教程,都是说要改变table.js,但是我发现不需要,只需要在返回json数据的时候做一下判断即可. php给layui返回json数据 ...

  3. vue动态渲染表格,显示上万条数据

    <template><!-- 表格 --><div class="table-box"><div class="tabletbo ...

  4. elementui的tree组件页面显示不出数据_只要10分钟,教你配置出炫酷的数据可视化大屏...

    在电影<摩天营救>中,监控中心的全方位展示屏幕给人印象深刻.现在这种立体化大屏幕似乎成了好莱坞大片的标配.其实,这种逼格很高的镜头就是一个数据可视化大屏.随着社会信息化的高速增长,数据可视 ...

  5. 使用Vue.js搭建简单的表格页面

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>我 ...

  6. elementui的tree组件页面显示不出数据_[Angular 组件库NG-ZORRO基础入门] -Hacker News: Pagination...

    前言回顾 到目前为止,我们已经实现了 hacker news 大部分页面功能设计,但是仍然缺少一个重要的翻页功能,API 现在没人是返回 20 条数据,我们今天会使用 Pagination 组件 将分 ...

  7. jsp页面显示mysql数据库数据_jsp页面显示数据库表数据

    在class.formname那里报错,错误提示语法错误,看不出来在哪啊,没错啊? pageEncoding="utf-8"%> 图书清单 table { border: 2 ...

  8. echarts图表没有数据的时候,在页面显示暂无数据

    if(arr.length=='0'){option = {title: {text: '暂无数据',x: 'center',y: 'center',textStyle: {color: '#65AB ...

  9. echarts图表无数据无时,在页面显示暂无数据

    var option = {title: {text: '暂无数据',x: 'center',y: 'center',textStyle: {color: '#fff',fontWeight: 'no ...

最新文章

  1. 智慧停车产业链市场全透析
  2. 用aspnetpager实现datalist分页(绝对的简单实用)
  3. 编写简单的发布者和订阅者(C++)---ROS学习第9篇
  4. 我的机器学习入门之路(下)——知识图谱、推荐、广告
  5. JavaScript之手写Promise
  6. 不可达的对象一定要被回收吗?
  7. 互联网公司忽悠员工的黑话,套路太深了。。。
  8. chrome 网页重新加载_在Chrome中为各个网页设置自定义重新加载时间
  9. 项目不能使用fn标签_无服务器,Java和FN项目的第一步
  10. python求一组数的最大值_python快速求一个数组的最大值/最小值及其索引
  11. mysql冷热数据LRU_浅析MySQL的lru链表
  12. Linux防火墙iptables的策略
  13. Java Web学习总结(39)——JavaEE常用的Jar详解
  14. Selenium WebDriver Api 知识梳理
  15. 我如何学习:不要停下学习的脚步
  16. mysql5.7.13编译安装_编译安装MySQL-5.7.13
  17. java 置顶窗体_windows 下如何让一个窗口置顶?
  18. 3dmax卸载工具_3Dmax软件无法安装?3Dmax软件正确卸载方法,重装无忧
  19. easyui datagrid 多一列
  20. 登录验证,如果输入错误次数超过3次,则锁定该账户

热门文章

  1. php 改变图片的宽高,php缩放图片(根据宽高的等比例缩放)示例
  2. 指标命名随意,增加沟通成本,套用这个公式,学会规范化定义指标
  3. 数据意识崛起,从企业应用看BI软件的未来发展 1
  4. 深入了解帆软报表系统的启动过程一
  5. tile布局的ButtonBar
  6. java equals getclass_Java equals()方法 – 子类中equals的语义如何确定getClass和instanceof的使用...
  7. c++检测固定usb端口有无设备接入_电脑USB技术白皮书
  8. linux thinkphp 计划任务_ThinkPHP定时任务项目案例分析
  9. python列表元素循环左移_JavaScript系列——数组元素左右移动N位算法实现
  10. 牛客 2021年度训练联盟热身训练赛第二场 E题NIH Budget