在我的数据表中,我有一个简单的列,只包含简单的字符串,但它没有正确排序



我有一个非常简单的Datatable。除一列外,所有列都排序正确。这些列只包含文本(字符串)。以下是我对列排序时得到的顺序:

À publier,
Retiré temporairement,
Retiré - Rejet
Nouveau.

下面是Datatable的代码,如您所见,它非常简单。var peutModifier = $('#hdnPeutModifier').val();

if (peutModifier !== 'undefined' && peutModifier === 'True') {
colonneAvecTriDesactive = [0, -1]; // Tri désactivé sur première et dernière colonne.
} else {
colonneAvecTriDesactive = [-1]; // Tri désactivé sur dernière colonne.
}
$('#DataTablePublication').DataTable({
search: false,
bFilter: false,
pageLength: 100,
lengthMenu: [[10, 20, 50, 100], [10, 20, 50, 100]],
columnDefs: [
{ orderable: false, targets: colonneAvecTriDesactive }
],
order: [],
language: {
paginate: {
first: "Premier",
last: "Dernier",
next: "Suivant",
previous: "Précédent"
}
}
});

我检查了,列只包含字符串,也,我没有在列排序上设置任何触发器,我在浏览器中没有任何错误。

有人对这个问题有什么想法吗?

这看起来像你已经排序你的列在反向字母顺序-这就是为什么À出现在第一个(因为À遵循z,使用默认代码点排序)。

要使用语言敏感排序,即您希望在字典中找到的排序顺序(其中église跟随eagle,而不是zebra),您可以使用datattables国际化插件。

使用步骤:

  1. 将库添加到页面的<head>部分。您可以使用CDN:

    <script src="https://cdn.datatables.net/plug-ins/1.11.0/sorting/intl.js"></script>

  2. 在创建DataTable之前,在脚本中初始化插件:

    $.fn.dataTable.ext.order.intl();

如果需要,还可以提供显式的区域设置:

$.fn.dataTable.ext.order.intl('fr');

这里描述了各种额外的配置选项。

最新更新