碰到问题了,去官网上找community:http://docs.handsontable.com/0.16.1/tutorial-quick-start.html

1、

描述:把handson table放在bootstrap tab中,首次没有激活,table没有正常显示。

原因:这种情况下,table invisible,所以不会调用render(),不会正常显示

解决办法:

$('a[href="#data"]').on('shown.bs.tab', function (e) {
hsd.hot.render();
});

另一个问题

描述:在上面的基础上,fixedRowsTop无效

解决办法:添加这一句,重新更新。

hsd.hot.updateSettings({fixedRowsTop : 1});

注:直接更新就可,不用render()也行。

2、

频繁切换表格内容是,使用updateSetting,这样就不会出现数据显示异常。

3、

minSpareRows:1,
minSpareCols:1

在最后一行输入内容,enter后,会自动增加一行。  

4、

给某行设置背景颜色:这一类问题都这样解决

cells:function(row, col, prop){
var cellProperties = {};
if(row === 0){
cellProperties.renderer = firstRowRenderer;
}
return cellProperties;
} var firstRenderer = function firstRowRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);
td.style.background = '#eee';
}

5、

建空表是data:[[]]; 

6、

滚动到指定行

hsd.hot.selectCell(1, 0);
hsd.hot.deselectCell();

找了好久,原来确实没有默认的方法,只能自己解决了,hsd.hot是我自己定义的表 

7、copy,paste,cut

demo--contextMenu中有例子,但是jsfiddle中,copy和paste显示有点不正常;cut,没有提到

8、

firefox下鼠标滚动缓慢:
github上回复,是使用其他三种方式:滚动条,键盘,右键后能快一点。https://github.com/handsontable/handsontable/issues/2520
或者是修改firefox的配置:选项--高级--常规--去掉(使用平滑滚动)。
 
9、
updateSettings:一个很奇怪的问题
场景:为了区分是哪种数据结构,而进行的更新。用A建一表,有cells属性,用B更新此表,cells中使用的是A的数据
//----------初始化开始----------------------
//获取数据
$.get('json/handsontable.json', function(data){
// hsd.data = data;
hsd.init(data);
}); // 更新
$('#update').on('click', function(){
$.get('json/handsontable1.json', function(data){
// hsd.data = data;
// hsd.init();
hsd.hot.updateSettings({
data:data
})
});
}) //----------初始化结束---------------------- hsd.con = $('#con');
hsd.init = function(data){
     // updateSettings 时不会执行这一句,
     console.log('sfp')  
hsd.hot = new Handsontable(hsd.con[0], {
data: data,
rowHeaders: true,
colHeaders: ['SLE', 'Control'],
contextMenu: true,
columnSorting: true,
manualColumnResize: true,
fixedRowsTop: 1,
fixedColumnsLeft: 1,
sortIndicator: true,
cells: function(row, col, prop){
              // updateSetting时 会执行这一句
if(row === 0 && col === 0){
console.log(data[0][0]);
}
}
});
};

解决办法:init不传参数,获取到B之后,执行hsd.data = B, init中得数据用hsd.data

10、如何区分自动创建的row和通过contextmenu创建的row:http://jsfiddle.net/2oc2hb3e/18/

var flag = false;
afterRender: flag = true;
afterCreateRows: if(flag){ // }
如果有mincols,removeRows,会自动CreateRows,所以需要在removeRows:flag=false
注意:update和createtable时,都先要flag=false

  

  

 

 

 

  

最新文章

  1. Get请求中文乱码的几种解决方式
  2. android遥控器的映射
  3. 计时函数 clock() in c and c++
  4. 多语言本地化开发Localized
  5. WM8962 HPOUT 信号强度 时间周期
  6. 第六篇、抽屉效果+UITabBarController(主流框架)
  7. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目
  8. SVNclient安装与使用
  9. chrome 浏览器帐号登录不来,如何解决自己的书签
  10. C#实现文档转换成PDF
  11. informix建临时表索引
  12. Mac上安装brew 包管理工具
  13. redis 系列5 数据结构之字典(上)
  14. 实现无缝兼容ajax/websocket网页应用和服务
  15. libsvm使用总结
  16. 【bzoj4516】 Sdoi2016—生成魔咒
  17. arcgis连接excel出现数据库失败 外部数据库驱动程序意外错误
  18. java类加载机制及方法调用
  19. gitlab配置自动同步
  20. java 1.8 新特性 stream

热门文章

  1. 常用类一一MATH类一一两个静态常量PI 和E,一些数学函数。
  2. tflearn 实现DNN 全连接
  3. sysdig
  4. ubuntu搭建ftp服务器
  5. hibernate联合主键
  6. PIE结对编程
  7. SVN服务器端的安装和配置
  8. django复习--学校管理系统用到的知识点梳理
  9. [leetcode]199. Binary Tree Right Side View二叉树右侧视角
  10. 7-找了一上午的BUG