在我的数据表中,我有一个仅包含简单字符串的简单列,但排序不正确
In my Datatable, I have a simple column containing only simple strings but it's not sorting correctly
我有一个非常简单的数据表。除一列外,每一列都正确排序。此列仅包含文本(字符串)。
这是我对列进行排序时得到的顺序:
À 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
),您可以使用数据表 internationalization plug-in.
使用步骤:
将库添加到页面的 <head>
部分。您可以为此使用 CDN:
<script src="https://cdn.datatables.net/plug-ins/1.11.0/sorting/intl.js"></script>
在创建 DataTable 之前在脚本中初始化插件:
$.fn.dataTable.ext.order.intl();
如果需要,您也可以提供明确的语言环境:
$.fn.dataTable.ext.order.intl('fr');
描述了各种额外的配置选项 here。
我有一个非常简单的数据表。除一列外,每一列都正确排序。此列仅包含文本(字符串)。 这是我对列进行排序时得到的顺序:
À 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
),您可以使用数据表 internationalization plug-in.
使用步骤:
将库添加到页面的
<head>
部分。您可以为此使用 CDN:<script src="https://cdn.datatables.net/plug-ins/1.11.0/sorting/intl.js"></script>
在创建 DataTable 之前在脚本中初始化插件:
$.fn.dataTable.ext.order.intl();
如果需要,您也可以提供明确的语言环境:
$.fn.dataTable.ext.order.intl('fr');
描述了各种额外的配置选项 here。