如何使用JQuery DataTables根据每个单元格中值的子字符串对列进行排序
假设我有一列包含格式为p-,例如 P12-3767如何使用JQuery DataTables根据每个单元格中值的子字符串对列进行排序,jquery,sorting,jquery-datatables,Jquery,Sorting,Jquery Datatables,假设我有一列包含格式为p-,例如 P12-3767 我使用JQuery的1.9.1版进行排序和分页。有没有一种方法可以忽略单元格值的前4个字符(“P12-”部分),这样就可以有效地对标识符的数字部分进行排序 您只需在查询中创建一列,该列是您要查找的原始字符串的子字符串版本。然后,排序时,按子字符串列而不是原始列排序。这是一个数据库端解决方案,如果您使用服务器端分页,它将非常有效 您还可以通过以下方式获取排序顺序和方向: $(oSettings.aoColumns[oSettings.aaSort
我使用JQuery的1.9.1版进行排序和分页。有没有一种方法可以忽略单元格值的前4个字符(“P12-”部分),这样就可以有效地对标识符的数字部分进行排序 您只需在查询中创建一列,该列是您要查找的原始字符串的子字符串版本。然后,排序时,按子字符串列而不是原始列排序。这是一个数据库端解决方案,如果您使用服务器端分页,它将非常有效 您还可以通过以下方式获取排序顺序和方向:
$(oSettings.aoColumns[oSettings.aaSorting[0][0]].nTh).attr('innerText');
因此,您可以在原始查询中包含子字符串列,将其隐藏,然后当单击排序顺序时,就是您要子字符串的列。。。将排序改为隐藏列。不确定在何处执行此操作,可能是在fnPreDrawCallback中。您可以在查询中创建一列,该列是您要查找的原始字符串的子字符串版本。然后,排序时,按子字符串列而不是原始列排序。这是一个数据库端解决方案,如果您使用服务器端分页,它将非常有效 您还可以通过以下方式获取排序顺序和方向:
$(oSettings.aoColumns[oSettings.aaSorting[0][0]].nTh).attr('innerText');
因此,您可以在原始查询中包含子字符串列,将其隐藏,然后当单击排序顺序时,就是您要子字符串的列。。。将排序改为隐藏列。不确定在何处执行此操作,可能是在fnPreDrawCallback中。在jsp页面中导入jstl函数
<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
包含指定要排序的子字符串的数据排序属性
<td data-sort="${fn:substringAfter('P12-3767', 'P12-')}">P12-3767</td>
P12-3767
在jsp页面中导入jstl函数
<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
包含指定要排序的子字符串的数据排序属性
<td data-sort="${fn:substringAfter('P12-3767', 'P12-')}">P12-3767</td>
P12-3767