gpt4 book ai didi

javascript - 对数据表中的行分组进行排序

转载 作者:行者123 更新时间:2023-11-28 07:44:14 24 4
gpt4 key购买 nike

我正在使用 datables 和 jquery 行分组..

这里是jsfiddle demo

正如您所看到的,这是一个普通的表格,但具有行分组,绿色的是行组,但无法像我可以使用名称和分数列,对它们进行排序的唯一方法是将 sGroupingColumnSortDirection: 更改为 "asc""desc"在此代码中

$(document).ready(function () {
$('#main').dataTable({
"bLengthChange": false,
"bPaginate": false,
"bFilter": false,
"bInfo": false
}).rowGrouping({
sGroupingColumnSortDirection: "asc", //this one is repsonsible for the group sortings
bExpandableGrouping: true
});
});

这样就可以了,但是用户没有选项或方法来对分组进行排序..

我想制作一个选择下拉菜单,这样它就会根据用户选择的内容对分组进行排序。

<label>
Sort place by:
<select>
<option value="place">Ascending</option>
<option value="place">Descending</option>
</select>
</label>

那么是否可以使用此选择下拉列表对分组进行排序?

最佳答案

首先,为下拉菜单提供一个 ID,并为选项提供正确的值。然后,在下拉列表的“onchange”事件上,您需要调用数据表“fnSort”函数。

<select id="selectSort">
<option value="Ascending">Ascending</option>
<option value="Descending">Descending</option>
</select>

在 jquery document.ready 部分中包含以下代码。

$("#selectSort").change(function() {

var oTable = $('#main').dataTable();
var sOption = $(this).val();
if(sOption == "Ascending") {
var sType = 'asc';
}
else {
var sType = 'desc';
}

//code for two columns, change if you have more columns.
oTable.fnSort( [ [0,sType], [1,sType] ] );


});

更新了 fiddle :http://jsfiddle.net/d03ebwdj/1/

更新:在您的分组方法中,很难根据分组进行排序。您可以做的是创建第三列作为“地点”。将其设置为隐藏。您可以使用“drawCallback”函数突出显示分组。请引用here

关于javascript - 对数据表中的行分组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27636549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com