调整DataTables订购

时间:2017-09-06 22:31:04

标签: sorting datatables

我将以下数据传递给DataTables表:

data = [{'state': 'Baseline', 'contact': 'Johnny', 'years_active': 10},
        {'state': '1', 'contact': 'Rachel', 'years_active': 10},
        {'state': '2', 'contact': 'Steve', 'years_active': 8}]

该表格包含三列:statecontactyears_active。当我对state列进行排序时,state='Baseline'行位于表格底部。有没有办法调整排序机制,这一行将在顶部?

可能在后台将Baseline转换为'0',或者可能将字符值定义为小于数值?

1 个答案:

答案 0 :(得分:1)

您可以控制列render回调中的排序值。 type参数定义返回值的范围,即过滤,排序,显示。使用||运算符的魔力,当列即将被排序时,您可以返回-1,并且该值不是数字:

columns: [
  { data: 'state',
    render: function(data, type) {
      if (type == 'sort') {
        return parseInt(data) || -1
      }
      return data
    }
  },
  { data: 'contact' },
  { data: 'years_active' }
]

参见演示 - >的 http://jsfiddle.net/721hdxa5/