2

假设我有一列包含格式为 P<2 digit ye​​ar>-<4 digit identifier> 的对象标识符,例如

P12-3767

我正在使用 1.9.1 版的 JQuery DataTables 插件进行排序和分页。有没有一种方法可以忽略单元格值的前 4 个字符(“P12-”部分),以便有效地仅对标识符的数字部分进行排序?

4

2 回答 2

0

您可以简单地在查询中创建一个列,它是您要查找的原始字符串的子字符串版本。然后,当您排序时,按子字符串列而不是原始列排序。如果您使用服务器端分页,这是一个非常适合的数据库端解决方案。

您还可以通过以下方式捕获排序顺序和方向:

$(oSettings.aoColumns[oSettings.aaSorting[0][0]].nTh).attr('innerText');

因此,您可以在原始查询中包含子字符串列,将其隐藏,然后当单击的排序顺序是您想要子字符串的列...改为将排序更改为隐藏列。不确定您会在哪里执行此操作,可能在 fnPreDrawCallback 中。

于 2012-10-24T15:18:09.120 回答
0

在jsp页面中导入jstl函数

<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>

包含 data-sort 属性,指定要排序的子字符串

<td data-sort="${fn:substringAfter('P12-3767', 'P12-')}">P12-3767</td>
于 2018-01-19T04:19:30.177 回答