handsontable 排序问题
排序是表格的基础功能,handsontable也会支持。
有时需求会很复杂,需要自定义排序,或者调用其他排序方法;自定义排序,比较复杂,没做过;今天要用的是调用R中的排序方法。
有两个事件beforeColumnSort 和 afterColumnSort;有用的是前者,index,order参数,但是不支持:return false; 禁用默认的排序方法。
在源码中,有几个重要的地方:
defaultSort:默认的排序方法;因为表格中data和字符串混在一起,想只对data排序,如果typeof a[1] == 'String' 把a[1] = infinity或者return -1;结果也不理想。它支持的排序算法有问题,只会两两比较,如果有相同的数字,则会与后一个数字进行比较,排序结果就会出错。

this.defaultSort:下一句是调用排序方法。如果注释掉,就不会执行,但是图标还会发生变化。
beforeColumnSort:排序的事件流程,可以看清楚,各阶段的效果
beforeColumnSort event:通过设置hot.sortOrder = false; 第一次的排序,仍然是从小到大。后面还会出错。
目的:string不参与排序
1、修改defaultSort没有成功;
2、注释掉执行排序的语句,由R排序,再刷新数据,标示就会一闪而过,因为表格会刷新。
20151104 排序没有实现。
虽然由R排好序,再刷新数据,但是想要handsontable支持的三角形标示,有4个thead,不知道那个class该加在哪?如果不要标示,就需要一个对象来维护每个column的排序状态:先增再减再增。
R默认的sort 以上已经说明过,过程有点复杂,一时半会调不好;如果第一行冻结的话,defaultsort的结果,第一行会有两组数据,其中一组盖着另一组,好像有这个情况。
计划:加一个按钮,来表示排序状态,不用默认的排序流程了。
handsontable 排序问题的更多相关文章
- 编程之美—烙饼排序问题(JAVA)
一.问题描述 星期五的晚上,一帮同事在希格玛大厦附近的"硬盘酒吧"多喝了几杯.程序员多喝了几杯之后谈什么呢?自然是算法问题.有个同事说:"我以前在餐 馆打工,顾 ...
- 关于SQL中的排序问题
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguratio ...
- handsontable组件和jqwidgets(jqxdragdrop组件)在一个页面产生调整宽高bug
修改handsontable.full.js handsontable绑定的"mouseup"事件,默认是window区域太大.引起冲突.
- distinct order by 排序问题
使用类似“SELECT DISTINCT `col` FROM `tb_name` ORDER BY `time` DESC”这样的sql语句时,会遇到排序问题. 以上面的sql语句分析:order ...
- Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms
自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...
- js关于对象键值为数字型时输出的对象自动排序问题的解决方法
一.对象键值为数字型时输出的对象自动排序问题如: var objs = { "1603":{id:"1603"}, "1702" ...
- MySQL中怎么对varchar类型排序问题
MySQL中怎么对varchar类型排序问题 在mysql默认order by 只对数字与日期类型可以排序,但对于varchar字符型类型排序好像没有用了,下面我来给各位同学介绍varchar类型排序 ...
- Handsontable 学习笔记-Methods
Handson: 亲自实践 先给出数据源和基本配置: var data =[ ["A1","B1","C1","D1"] ...
- Java中中文拼音的排序问题
最近做一个手机数据同步的应用开发,需要提供地址簿信息按照姓名的拼音次序进行排序.但仔细考察Java提供的Collator之后,发现其中文拼音排序存在严重的问题.Java提供Collator来支持不同语 ...
随机推荐
- UIButton 设置图片文字垂直居中排列
#pragma mark 按钮图片文字垂直居中排列 -(void)setButtonContentCenter:(UIButton *)button { CGSize imgViewSize,titl ...
- Codeforces 757B. Bash's Big Day GCD
B. Bash's Big Day time limit per test:2 seconds memory limit per test:512 megabytes input:standard i ...
- 脚本路径问题_dirname
pwd可获取命令当前的路径 可是若我们想在脚本中获取脚本所在文件夹的路径,这种方法是不够用的. 例如,我们的脚本放在/home/user/script/下,名字叫做getpath.sh getpath ...
- UI设计教程分享:banner设计
我们都知道在一个网站中,banner图片对于浏览者来说是非常重要的,尤其是电商banner,它的最主要目的是营销,是要让消费者有冲动去购买,这对设计的要求也就更高了.而企业网站也一样,一个合适的ban ...
- Spring Environment(三)生命周期
Spring Environment(三)生命周期 Spring 系列目录(https://www.cnblogs.com/binarylei/p/10198698.html) Spring Envi ...
- JQuery中after() append() appendTo()的区别
首先 after() 是追加在元素外边而append() appendTo()是追加在元素里面. $(selector).after(content) $("span").afte ...
- 弹出DIV锁定代码
<html> <head> <meta http-equiv="Content-Type" content="text/html; ch ...
- 2019.01.21 洛谷P3919 【模板】可持久化数组(主席树)
传送门 题意简述:支持在某个历史版本上修改某一个位置上的值,访问某个历史版本上的某一位置的值. 思路: 用主席树直接维护历史版本即可. 代码: #include<bits/stdc++.h> ...
- Win7命令行编译cuda及设置Windows显卡响应时间
在开始菜单中找到Visual Studio 2013 >> Visual Studio Tools 选择86或64版本的VC命令提示符环境,我用的 VS2013 x86 Native To ...
- CloneZilla 恢复系统报错Waiting for device dev/disk/by-id/.....
利用CloneZilla备份好系统,在恢复系统时候显示恢复成功,但在重启系统时出现如下错误: 出现问题的原因: 原因在于suse系统的一个新的默认设置,这个新的默认设置为存储设备由原来的名称相关改为I ...