当我们在服务器端构建HTML并仅应用DataTables时,我们可以将原始数据放在data-sort
属性中,并将格式化后的值放在单元格的文本上,它将正确地对列进行排序。
我有这种需要,但数据以json的形式出现,我将其添加为DataTable({data: object})
。
我正在使用columnDefs-render格式化这些值,并且众所周知,DataTables使用呈现的字符串而不是原始数据进行排序。
我需要一些columnDefs设置来提供原始数据进行排序,但是找不到如何做。有任何想法吗?
我想到了!
1)在Web服务响应上,确保有一个字段具有正确的数据类型以用于排序。如果(不是最佳实践)数据是在应用程序上而不是通过DataTables格式化为字符串,则为格式化的字符串添加一个字段,并为适当的数据类型添加另一个字段
2)在“数据表”设置的columns
区域上,照常设置链接到适当字段的适当列
3)如果DataTables负责格式化,则照常添加render
设置
4)返回该columns
区域,在列表的末尾添加一个新列,链接到正确的数据类型字段,然后添加visible: false
到该区域,这样该列将可供其他设置和功能使用,但不会视觉呈现
5)在columnDefs
区域上,add { "orderData": 8, "targets": 5 }
,以这种方式在订购第5列时,DataTables将使用第8列来代替,即第8列是在(4)上添加的新的不可见列
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句