handsontable 属性汇总
- 常规属性:
1.固定行列位置
fixedRowsTop:行数 //固定顶部多少行不能垂直滚动
fixedColumnsLeft:列数 //固定左侧多少列不能水平滚动
2.拖拽行头或列头改变行或列的大小
manualColumnResize:true/false//当值为true时,允许拖动,当为false时禁止拖动
manualRowResize:true/false//当值为true时,允许拖动,当为false时禁止拖动
3.延伸列的宽度
stretchH:last/all/none //last:延伸最后一列,all:延伸所有列,none默认不延伸。
4.手动固定某一列
manualColumnFreeze: true/false
//当值为true时,选中某 一列,右键菜单会出现freeze this column选项,该选项的作用是固定这一列不可水平滚动,并会将这一列移动到非固定列的前面。再次右键菜单会出现unfreeze this column,意思是取消该列的固定,并将其还原到初始位置。
5.拖动行或列到某一行或列之后
manualColumnMove:true/false 当值为true时,列可拖拽移动到指定列
manualRowMove:true/false 当值为true时,行可拖拽至指定行
当属性的值为true时,行头或列头可以被拖拽移动,移动后该行或列将会被移动到指定位置,原先该行或列的后面部分自动上移或后退。移动的时候鼠标需选中行线或列线才行。
6.设置当前行或列的样式
currentRowClassName:当前行样式的名称
currentColClassName:当前列样式的名称
7.行分组或列分组
groups:[{cols:[0,2]},{cols:[3,5]},{rows:[0,4]},{rows:[5,7]}]
上面的例子介绍了4个分组,第0-2列为一组,第3-5列为第二组,第0-4行为一组,第5-7列为第二组。分组可在行头或列头看见,分组可被展开或隐藏。
8.允许排序
columnSorting:true/false/对象 //当值为true时,表示启用排序插件
当值为true时,排序插件的使用可通过点击列头文字实现。当值为false时表示禁用排序。当值为对象时,该对象包含两个属性:column:列数。sortOrder:true/false,升序或降序,true为升序排列。当用对象启动插件后可用如下方式禁用插件:
hot.updateSettings({
columnSorting:false
});
排序的使用也可已直接调用sort()方法实现。如下操作:
if(hot.sortingEnabled){
hot.sort(行数,true/false); //true为升序,false为降序
}
9.显示行头列头
colHeaders:true/fals/数组 //当值为true时显示列头,当值为数组时,列头为数组的值
例如:colHeaders: ['日期', '地点', '商品', '单价', '销量']
rowHeaders:true/false/数组 //当值为true时显示行头,当值为数组时,行头为数组的值
例如:rowHeaders: [1, 2, 3, 4, 5, 6]
10.表格数据
data:[[第一行数据],[第二行数据],...[第n行数据]]/对象数组
获取数据的方法:hot.getData()。
加载数据的方法:hot.loadData(data)。
当不需要显示某一列的时候可用如下格式设置:
columns:[
{data:0},
{data:2}
]
这里就不显示第二列数据,只有第1、3列数据
data可以有两种格式。
第一种是二维数组:
data: [
['日期','销售地点','销售商品','单价','销量'],
['2017-01', '北京', '冰箱', '3399', 530],
['2017-01', '天津', '空调', '4299', 522],
['2017-01', '上海', '洗衣机', '1299', 544],
['2017-01', '广州', '彩电', '4599', 562],
['2017-01', '深圳', '热水器', '1099', 430],
['2017-02', '重庆', '笔记本电脑', '4999', 666],
['2017-02', '厦门', '油烟机', '2899', 438],
['2017-02', '青岛', '饮水机', '899', 620],
['2017-02', '大连', '手机', '1999', 500]
];
第二种是对象数组:如果使用该方式渲染数据,则不能使用插入列方法:insert_col和remove_col
data: [
{'date': '2017-01', 'place':'北京', 'goods':'冰箱', 'price':3399, '销量':530},
{'date': '2017-01', 'place':'天津', 'goods':'空调', 'price':4299, '销量':522},
{'date': '2017-01', 'place':'上海', 'goods':'洗衣机', 'price':1299, '销量':544},
{'date': '2017-01', 'place':'广州', 'goods':'彩电', 'price':4599, '销量':562},
{'date': '2017-01', 'place':'深圳', 'goods':'热水器', 'price':1099, '销量':430},
{'date': '2017-02', 'place':'重庆', 'goods':'笔记本电脑', 'price':4999, '销量':666},
{'date': '2017-02', 'place':'厦门', 'goods':'油烟机', 'price':2899, '销量':438},
{'date': '2017-02', 'place':'青岛', 'goods':'饮水机', 'price':1099, '销量':620},
{'date': '2017-02', 'place':'大连', 'goods':'手机', 'price':1999, '销量':500}
]
11.右键菜单展示
contextMenu:true/false/自定义数组 //当值为true时,启用右键菜单,为false时禁用
例如:contextMenu: ["row_above", "row_below", "col_left", "col_right", "remove_row", "remove_col", "---------", "undo", "redo", "Read Only", "alignment", "Merge Cells"]
12.自适应列大小
autoColumnSize:true/false //当值为true且列宽未设置时,自适应列大小
13.minCols:最小列数
minRows:最小行数
minSpareCols:最小列空间,不足则添加空列
maxCols:最大列数
maxRows:最大行数
minSpareRows:最小行空间,不足则添加空行
14.observeChanges:true/false //当值为true时,启用observeChanges插件
15.colWidths:[列宽1,列宽2,...]/列宽值
例如:
var hot = new Handsontable(container, {
data: data,
observeChanges: true,
colHeaders: true,
rowHeaders: true,
colWidths: 70, //colWidths: [100, 200, 300, 200, 100]
contextMenu: false,
manualRowResize: true,
manualColumnResize: true,
minSpareRows: 30,
cells: function(row, col, prop) {//单元格渲染
this.renderer = myRenderer;
},
mergeCells: true
});
16.自定义边框设置,可以进行初始化配置,如下:
customBorders:[{range:{from:{row:行数,col:列数},to:{row:行数,col:列数},上下左右设置}]
hot = Handsontable(container, {
data: Handsontable.helper.createSpreadsheetData(200, 20),
rowHeaders: true,
fixedColumnsLeft: 2,
fixedRowsTop: 2,
colHeaders: true,
customBorders: [
{
range: {//多个单元格
from: {//起始位置
row: 1,
col: 1
},
to: {
row: 3,
col: 4
}
},
top: {//结束位置
width: 2,
color: '#5292F7'
},
left: {
width: 2,
color: 'orange'
},
bottom: {
width: 2,
color: 'red'
},
right: {
width: 2,
color: 'magenta'
}
},
{//单一单元格
row: 2,
col: 2,
left: {
width: 2,
color: 'red'
},
right: {
width: 1,
color: 'green'
}
}]
});
也可以声明customBorder:true,表示允许自定义单元格边框。
用range指定一个范围,或者直接使用row、col指定单元格位置,用top、right、bottom、left分别设置单元格上下左右边框的属性。
customBorders: [
{
range: {
from: {row: 1, col:1},
to: {row: 3, col:3}
},
top: {width: 2, color: '#25e825'},
right: {width: 2, color: '#25e825'},
bottom: {width: 2, color: '#25e825'},
left: {width: 2, color: '#25e825'}
},
{
row: 2,
col: 2,
top: {width: 2, color: '#7687c5'},
right: {width: 2, color: '#7687c5'},
bottom: {width: 2, color: '#7687c5'},
left: {width: 2, color: '#7687c5'}
}
]
17.单元格合并可以进行初始化配置,如下:
mergeCells: [{row: 起始行数, col: 起始列数,
rowspan: 合并行数, colspan:合并列数 },...],
例如:
mergeCells: [
{row:0, col:0, rowspan:5, colspan:1},
{row:5, col:0, rowspan:4, colspan:1}
]
也可以先声明单元格允许合并,mergeCells:true,再利用合并方法操作。
hot = new Handsontable(container, {
data: data,
observeChanges: true,
colHeaders: true,
rowHeaders: true,
colWidths: 70,
contextMenu: false,
manualRowResize: true,
manualColumnResize: true,
// minSpareRows: 30,
cells: function(row, col, prop) {
this.renderer = myRenderer;
},
mergeCells: true,
18 className:容器单元格的class属性(htCenter,htLeft,htRight,htJustify,htTop,htMiddle,htBottom),默认值undefined,这些属性将作为容器单元格内容的对齐方式
19 cell:指定单元格的某些属性(数组),如下:
cell: [
{row:0, col:0, className: 'htRight htMiddle', editor: false}, // 右对齐垂直居中,只读
{row:1, col:1, className: 'htLeft'} // 左对齐
]
20 startRows:初始行数
21 startCols:初始列数
22 wordWrap:自动换行
默认true
23 copyable:是否允许键盘复制
默认true,如下面的官网说明,这个只适用于键盘上CTRL + C的复制,不适用于拖动复制。
Make cell copyable (pressing CTRL + C on your keyboard moves its value to system clipboard).
Note: this setting is false by default for cells with type password.
24 fillHandle:是否允许拖动复制
默认true,也可以控制方向:fillHandle: 'vertical'
如果设置为false,则选中单元格后,在右下方不会出现可以拖动的点。
25 renderAllRows:是否呈现所有行
如果键入true,将禁用handsontable的虚拟呈现机制。
也就是说如果键入true,则当你用键盘上下移动数据时,handsontable中的数据不会随着焦点的下移或上移同步移动;
如果是false,则当你用键盘上下移动数据时,滚动条也会随着焦点上下移动。
By QJL
handsontable 属性汇总的更多相关文章
- 【转】Spring Boot干货系列:常用属性汇总
转自Spring Boot干货系列:常用属性汇总 附录A.常用应用程序属性 摘自:http://docs.spring.io/spring-boot/docs/current/reference/ht ...
- handsontable 方法汇总
核心方法 1.为handsontable添加钩子方法 addHook(key,callback):key为钩子方法名 例如:hot.addHook('beforeInit', myCallback); ...
- handsontable 事件汇总
Hook插件 afterChange (changes: Array, source: String):1个或多个单元格的值被改变后调用 changes:是一个2维数组包含row,prop,oldVa ...
- easyUI属性汇总
CSS类定义: 1.div easyui-window 生成一个window窗口样式. 属性如下: 1)modal:是否生成模态窗口.true[是] false[否] 2)shadow:是否显示窗口阴 ...
- css常用属性汇总
一.常用css属性 (1) *block(区块) 行高 line-height:数值 | inherit | normal; 字间距 letter-spacing: 数值 | inherit | no ...
- unity3d常用属性汇总
unity常用的是C#语言.而C#语言有Attribute属性.特别强大.所以unity开发的时候.可以在变量加Attribute属性来达到开发人员想要的效果 RequireComponent:约束组 ...
- Anaroid WebView 的属性汇总
1. 打开网页时不调用系统浏览器, 而是在本WebView中显示: mWebView.setWebViewClient(new WebViewClient(){ @Override public bo ...
- Jquery插件 easyUI属性汇总
属性分为CSS片段和JS片段. CSS类定义:1.div easyui-window 生成一个window窗口样式. 属性如下: 1)mod ...
- ext3中xtype属性汇总
基本组件: xtype Class 描述 button Ext.Button 按钮 splitbutton Ext.SplitButton 带下拉菜单的按钮 cycle Ext.CycleButton ...
随机推荐
- dubbo filter实现接口认证springboot idea
最近公司有业务需求,要对Dubbo接口调用者进行身份验证,验证通过才能调用,网上一些资料不够全面,遂整理了一下. 在provider方定义一个filter,需要实现com.alibaba.dubbo. ...
- kvm的安装使用技巧
KVM参考网址 http://www.server110.com/kvm/201403/8321.html http://www.2cto.com/os/201511/451650.html http ...
- iOS程序闪退的原因以及处理办法
iOS程序闪退是一种比较常见的现象.闪退的情况很多,造成程序闪退的原因也很多. ================================启动时闪退======================= ...
- Ubuntu下Maven配置与Maven项目创建教程
一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...
- Java8的一些新特性
速度更快: 代码更少(增加了新的语法Lamdba表达式): Lamdba操作符"->" 语法格式: 左侧:参数列表 右侧:接口抽象方法的实现功能 Lamdba表达式 3.强大 ...
- 对于JAVA程序优化的一些想法,读书有感.治疗强迫症良药
在深入了解Java虚拟机里读到:在try{}块里面执行代码,比if(x!=null)效率要高,前提是被catch的几率很低的情况下. 但是 在Effective Java里读到:因为异常机制的设计初衷 ...
- python爬虫框架scrapy问题的解决
2016-09-24:今天的弄了一天的scrapy的环境的配置的,linux很多的学过的事情都忘记啦.理论和实践的结合还是非常的重要的,不光要学会思考,更要学会总结纪录.还要多多回忆的和复习.学习了不 ...
- List,Set,Map
1.Collection 和 Map 的区别 容器内每个为之所存储的元素个数不同.Collection类型者,每个位置只有一个元素.List,SetMap类型者,持有 key-value pair,像 ...
- TCP协议—三次握手四次挥手的原理<转>
三次握手四次挥手的原理 TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接.在TCP/IP协议中,TCP 协议提供可靠的连接服务,连接是通过三次握手进行初始化的.三 ...
- Linux中的DRM
如果在搜索引擎离搜索 DRM 映入眼帘的尽是Digital Rights Managemen,也就是数字版权加密保护技术.这当然不是我们想要的解释.在类unix世界中还有一个DRM即The Direc ...
