jQuery仿Excel表格编辑功能的实现代码
在 Excel 中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C 、Ctrl+V 等等。
另外在浏览器支持方面,它支持以下的浏览器 IE7+, FF, Chrome, Safari, Opera。
如何使用:
首先在页面中引入 jQuery 框架和 Handsontable 插件的相关 JS 和 CSS 文件,以下列出的两个是必要的,还有其它的是可选的,如果需要某个功能时就(参看demo)加上。
代码如下:
<script src="jquery.min.js"></script> <script src="jquery.handsontable.full.js"></script> <link rel="stylesheet" href="jquery.handsontable.full.css">
然后添加一个用于呈现 Excel 编辑表格的 DIV 层
代码如下:
<div id="example1" ></div>
最后就可以对其进行初始化了
代码如下:
//数据 var data = [ {id: 1, name: "Ted", isActive: true, color: "orange"}, {id: 2, name: "John", isActive: false, color: "black"}, {id: 3, name: "Al", isActive: true, color: "red"}, {id: 4, name: "Ben", isActive: false, color: "blue"} ]; //黄色渲染方法 var yellowRenderer = function (instance, td, row, col, prop, value, cellProperties) { Handsontable.TextCell.renderer.apply(this, arguments); $(td).css({ background: 'yellow' }); }; //绿色渲染方法 var greenRenderer = function (instance, td, row, col, prop, value, cellProperties) { Handsontable.TextCell.renderer.apply(this, arguments); $(td).css({ background: 'green' }); }; //初始化 var $container = $("#example1"); $container.handsontable({ data: data, startRows: 5, colHeaders: true, minSpareRows: 1, columns: [ {data: "id"}, {data: "name", type: {renderer: yellowRenderer}}, //黄色渲染 {data: "isActive", type: Handsontable.CheckboxCell}, //多选框 {data: "color", type: Handsontable.AutocompleteCell, //自动完成 source: ["yellow", "red", "orange", "green", "blue", "gray", "black", "white"] //数据源 } ], cells: function (row, col, prop) { if (row === 0 && col === 0) { return {type: {renderer: greenRenderer}}; } } });
注意是div容器加载完了之后进行初始化:
demo代码:
代码如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Basic Demo</title> <script src="jquery.min.js"></script> <script src="jquery.handsontable.full.js"></script> <link rel="stylesheet" href="jquery.handsontable.full.css"> <script> $(function(){ //数据 var data = [ {id: 1, name: "Ted", isActive: true, color: "orange"}, {id: 2, name: "John", isActive: false, color: "black"}, {id: 3, name: "Al", isActive: true, color: "red"}, {id: 4, name: "Ben", isActive: false, color: "blue"} ]; //黄色渲染方法 var yellowRenderer = function (instance, td, row, col, prop, value, cellProperties) { Handsontable.TextCell.renderer.apply(this, arguments); $(td).css({ background: 'yellow' }); }; //绿色渲染方法 var greenRenderer = function (instance, td, row, col, prop, value, cellProperties) { Handsontable.TextCell.renderer.apply(this, arguments); $(td).css({ background: 'green' }); }; //初始化 var $container = $("#example1"); $container.handsontable({ data: data, startRows: 5, colHeaders: true, minSpareRows: 1, columns: [ {data: "id"}, {data: "name", type: {renderer: yellowRenderer}}, //黄色渲染 {data: "isActive", type: Handsontable.CheckboxCell}, //多选框 {data: "color", type: Handsontable.AutocompleteCell, //自动完成 source: ["yellow", "red", "orange", "green", "blue", "gray", "black", "white"] //数据源 } ], cells: function (row, col, prop) { if (row === 0 && col === 0) { return {type: {renderer: greenRenderer}}; } } }); }); </script> </head> <body> <div id="example1" ></div> </body> </html>
相关推荐
delmarks 2020-06-28
89510194 2020-06-27
ppsurcao 2020-06-14
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
84483065 2020-09-11
momode 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28
tthappyer 2020-07-25
TONIYH 2020-07-22