jQuery仿Excel表格编辑功能的实现代码_jquery
程序员文章站
2022-05-02 18:00:16
...
在 Excel 中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C 、Ctrl+V 等等。
然后添加一个用于呈现 Excel 编辑表格的 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容器加载完了之后进行初始化:
Basic Demo
另外在浏览器支持方面,它支持以下的浏览器 IE7+, FF, Chrome, Safari, Opera。
如何使用:
首先在页面中引入 jQuery 框架和 Handsontable 插件的相关 JS 和 CSS 文件,以下列出的两个是必要的,还有其它的是可选的,如果需要某个功能时就(参看demo)加上。
复制代码 代码如下:
然后添加一个用于呈现 Excel 编辑表格的 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代码:
复制代码 代码如下: