当我们在服务器端构建超文本标记语言并应用DataTables时,我们可以将原始数据放在data-sort属性中,并将格式化后的值放在单元格的文本中,这样它就可以正确地对列进行排序。
我非常需要,但是数据将以json的形式出现,我将其添加为DataTable({data: object})。
我使用columnDefs-render来格式化这些值,正如我们所知,DataTables使用呈现的字符串而不是原始数据进行排序。
我需要一些columnDefs设置来提供用于排序的原始数据,但找不到方法。有什么想法吗?
发布于 2020-04-03 21:04:49
我想通了!
1)在web服务响应上,确保有一个数据类型正确的字段用于排序。如果(非最佳做法)数据在应用程序上被格式化为字符串,而不是由DataTables格式化,请为格式化的字符串添加一个字段,并为正确的数据类型添加另一个字段
2)在DataTables设置中,在columns area中,照常设置链接到正确字段的正确列
3)如果DataTables像往常一样负责格式化,则添加用于格式化的render设置
4)返回到columns区域,在列表末尾添加一个新列,该列链接到适当的数据类型字段,并向其中添加visible: false,这样该列将可供其他设置和函数使用,但不会以可视方式呈现
5)在columnDefs区域上,添加{ "orderData": 8, "targets": 5 },这样当第5列被排序时,DataTables将使用第8列来代替,即第8列在(4)上添加的新不可见列
https://stackoverflow.com/questions/60875313
复制相似问题