Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JQuery DataTables根据每个单元格中值的子字符串对列进行排序_Jquery_Sorting_Jquery Datatables - Fatal编程技术网

如何使用JQuery DataTables根据每个单元格中值的子字符串对列进行排序

如何使用JQuery DataTables根据每个单元格中值的子字符串对列进行排序,jquery,sorting,jquery-datatables,Jquery,Sorting,Jquery Datatables,假设我有一列包含格式为p-,例如 P12-3767 我使用JQuery的1.9.1版进行排序和分页。有没有一种方法可以忽略单元格值的前4个字符(“P12-”部分),这样就可以有效地对标识符的数字部分进行排序 您只需在查询中创建一列,该列是您要查找的原始字符串的子字符串版本。然后,排序时,按子字符串列而不是原始列排序。这是一个数据库端解决方案,如果您使用服务器端分页,它将非常有效 您还可以通过以下方式获取排序顺序和方向: $(oSettings.aoColumns[oSettings.aaSort

假设我有一列包含格式为p-,例如

P12-3767


我使用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