javascript - Slickgrid 自定义排序

标签 javascript sorting slickgrid

我正在尝试在光滑的网格中实现自定义排序。我用这个作为引用https://github.com/mleibman/SlickGrid/wiki/DataView#sorting 。我想强制具有特定属性的行始终排序到网格的底部。 (我试图让 slickgrid 的工作示例在 jsfiddle.net 中工作,但我做不到。)我已经尝试过这个,但它不起作用。

var gridData =[
    { Id:1, Code: '232046', Depth2: 4000,},
    { Id:2, Code: '23247', Depth2: 2000 },
    { Id:3, Code: '12543', Depth2: 1500, rowoption_stickyorder: 1 }
];

grid.onSort.subscribe(function (e, args) {
    var footerOrderProperty = 'rowoption_stickyorder';

    var comparer = function (a, b) {
      var result = (a[args.sortCol.field] > b[args.sortCol.field]) ? 1 : -1;

      if (b[footerOrderProperty] != undefined || a[footerOrderProperty] != undefined)
          result = -1;

       return result;
    }
    dataview.sort(comparer, args.sortAsc);
});

我错过了什么?

最佳答案

 if (b[footerOrderProperty] != undefined || a[footerOrderProperty] != undefined)
   result = -1;

行不通。 假|| true 将一个具有该属性的对象/行放置在没有该属性的对象/行之上。

var bb = b[footerOrderProperty],
    aa = a[footerOrderProperty];

if(aa && !bb){
   result = 1;
}
else if(!aa && bb)
{
  result = -1
}  

参见my fiddle

注意:由于 mime 类型问题,Fiddle 在 Chrome 中无法工作,并且使资源 rawgithub 的常见解决方法似乎不起作用。

关于javascript - Slickgrid 自定义排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23917747/

相关文章:

c# - 按字母顺序对字符串中的数字进行排序

javascript - 如果某个单元格不为空,如何更改 Slickgrid 中的行背景颜色?

javascript - 动态添加 css 类到行

javascript - 如何更改angularjs单页应用程序中的元标记内容?

javascript - 如何使用 java 在 Jquery ajax 调用中下载 PDF

javascript - 需要帮助找到用于在网页之间连续循环的 setTimeout 函数的剩余时间

javascript - 访问 Json 上的特定数据 - NodeJS

java - 值的组序列

javascript - 如何根据时间对对象数组进行排序?

php - 编辑器中的 Slickgrid html 实体问题