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>
相关推荐
小林ixn7 分钟前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript
爱读源码的大都督14 分钟前
Claude Code源码分析(三):为什么系统提示词中需要有tools呢?
前端·人工智能·后端
爱勇宝19 分钟前
Claude Code 被曝暗藏“隐形检测”代码:封代理不是最可怕的,可怕的是你根本不知道它在干什么
前端·后端·程序员
小牛不牛的程序员23 分钟前
我用 Claude Code 半天撸完了一个完整网站,AI 编程到底提升了多少效率?
前端
东风破_25 分钟前
JavaScript 面试常考的字符串算法:从反转字符串到回文判断
前端·javascript
巴勒个啦26 分钟前
D3.js 入门实战:用力导向图可视化项目依赖关系
javascript
ITOM运维行者40 分钟前
从零搭建企业级服务器监控体系:踩坑实录与架构设计
前端·后端
monologues43 分钟前
深入 Vue 3 源码:响应式系统的精妙设计与编译优化
前端
hunterandroid1 小时前
Paging 3 分页:从手动分页到声明式加载
前端
用户4099322502121 小时前
Vue状态管理入门第四章:组合式store和SSR风险
前端·vue.js·后端