jQuery仿Excel表格编辑功能的实现代码
在Excel中可进行的操作,你几乎都可以在网页中做到,如拖动复制、Ctrl+C、Ctrl+V等等。
另外在浏览器支持方面,它支持以下的浏览器IE7+,FF,Chrome,Safari,Opera。
如何使用:
首先在页面中引入jQuery框架和Handsontable插件的相关JS和CSS文件,以下列出的两个是必要的,还有其它的是可选的,如果需要某个功能时就(参看demo)加上。
<scriptsrc="jquery.min.js"></script>
<scriptsrc="jquery.handsontable.full.js"></script>
<linkrel="stylesheet"href="jquery.handsontable.full.css">
然后添加一个用于呈现Excel编辑表格的DIV层
<divid="example1"></div>
最后就可以对其进行初始化了
demo代码:
//数据
vardata=[
{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"}
];
//黄色渲染方法
varyellowRenderer=function(instance,td,row,col,prop,value,cellProperties){
Handsontable.TextCell.renderer.apply(this,arguments);
$(td).css({
background:"yellow"
});
};
//绿色渲染方法
vargreenRenderer=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容器加载完了之后进行初始化:
<!DOCTYPEhtml>
<html>
<head>
<metacharset="UTF-8">
<title>BasicDemo</title>
<scriptsrc="jquery.min.js"></script>
<scriptsrc="jquery.handsontable.full.js"></script>
<linkrel="stylesheet"href="jquery.handsontable.full.css">
<script>
$(function(){
//数据
vardata=[
{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"}
];
//黄色渲染方法
varyellowRenderer=function(instance,td,row,col,prop,value,cellProperties){
Handsontable.TextCell.renderer.apply(this,arguments);
$(td).css({
background:"yellow"
});
};
//绿色渲染方法
vargreenRenderer=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>
<divid="example1"></div>
</body>
</html>
相关文章