SlickGrid简单使用——一个高性能的datagrid库

SlickGrid是一个极速的JavaScript网格/电子表格库,提供现代化的数据处理和展示功能,在大数据量展示方面表现极好。与easyui和layui的datagrid相比,SlickGrid在大数据量展示方面具有极高的流畅性。

github链接:GitHub - 6pac/SlickGrid: A lightning fast JavaScript grid/spreadsheet

本人实测,使用SlickGrid一页存放790000条数据时性能表现极佳。

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link type="text/css" rel="stylesheet" href="/static/css/main.css">
	<link rel="stylesheet" href="/static/slickgrid/dist/styles/css/slick.grid.css" type="text/css"/>
	<link rel="stylesheet" href="/static/slickgrid/dist/styles/css/slick-icons.css" type="text/css"/>
	<link rel="stylesheet" href="/static/slickgrid/dist/styles/css/slick-alpine-theme.css" type="text/css"/>
    <script src="/static/js/jquery.min.js"></script>
</head>
<body>
<div id="dataTable" class="slick-container" style="width: 100%; height:550px;"></div>
<script src="/static/slickgrid/lib/jquery.jsonp-2.4.min.js"></script>
<script src="/static/slickgrid/dist/browser/slick.core.js"></script>
<script src="/static/slickgrid/dist/browser/slick.interactions.js"></script>
<script src="/static/slickgrid/dist/browser/slick.grid.js"></script>
<script src="/static/slickgrid/dist/browser/slick.editors.js"></script>
<script src="/static/slickgrid/dist/browser/slick.remotemodel.js"></script>
<script src="/static/slickgrid/dist/browser/plugins/slick.autotooltips.js"></script>
<script src="/static/slickgrid/dist/browser/plugins/slick.cellrangedecorator.js"></script>
<script src="/static/slickgrid/dist/browser/plugins/slick.cellrangeselector.js"></script>
<script src="/static/slickgrid/dist/browser/plugins/slick.cellcopymanager.js"></script>
<script src="/static/slickgrid/dist/browser/plugins/slick.cellselectionmodel.js"></script>
<script>
	var grid;
	var tableDatas = [];
	var columns = [
		{id: "autoid", name: "", field: "autoid", width: 50},
		{id: "country", field: 'country', name: 'Country', width: 80},
		{id: "sku", field: 'sku', name: 'Sku', width: 70},
		{id: "asin", field: 'asin', name: 'Asin', width: 120},
		{id: "item", field: 'item', name: 'Item', width: 150}
	];
	
	var options = {
		enableCellNavigation: true,
		enableColumnReorder: false,
		editable: true,
		enableAddRow: false,
		asyncEditorLoading: false,
		autoHeight: false
	};
	
    // 设置表格高度
	$(function () {
		var tableHeight = window.innerHeight - 150; 
		$("#dataTable").css("height", tableHeight);
		grid = new Slick.Grid("#dataTable", [], columns, options);
	});

    var obj = {
        find: function () {
            var country = $("#country").val();
            var asin = $("#asin").val();
            var sku = $("#sku").val();
			var focusSkus = $('[name="FocusSkus"]').is(':checked')? 1: 0;

            $.ajax({
				url: '#',
				type: 'GET',
				dataType: 'json',
				success: function (datas) {
					tableDatas = datas;
					grid = new Slick.Grid("#dataTable", datas, columns, options);
				},
				error: function (error) {
					console.log(error);
				}
			})
        }
    };
</script>
</body>
</html>
相关推荐
zhaoyin199420 分钟前
Fiddler弱网实战
前端·测试工具·fiddler
换日线°1 小时前
前端炫酷展开效果
前端·javascript·vue
夏幻灵2 小时前
过来人的经验-前端学习路线
前端
CappuccinoRose3 小时前
React框架学习文档(七)
开发语言·前端·javascript·react.js·前端框架·reactjs·react router
FFF-X3 小时前
前端字符串模糊匹配实现:精准匹配 + Levenshtein 编辑距离兜底
前端
Hi_kenyon3 小时前
Ref和Reactive都是什么时候使用?
前端·javascript·vue.js
止观止3 小时前
深入理解 interface vs type:终结之争
前端·typescript
css趣多多3 小时前
vue环境变量
前端
RFCEO3 小时前
前端编程 课程十五、:CSS核心基础3:文字+段落样式
前端·css·文字+段落样式·css文本样式·美化页面文本内容·演示动画说明·单行文字垂直居中技
摇滚侠3 小时前
【程序员入门系列】jQuery 零基础入门到精通!Jquery 选择器 API
前端·javascript·jquery