我正在修复我们的某个应用程序中的排序问题,但我遇到了一个问题。我正在使用Slick Grid进行网格实现。当前的排序函数(不是由我自己编写)可以正常工作,除了1个警告。它会对列进行排序,但是在按列排序时,我无法使我的复选框保留其各自的行。复选框保留在它们在排序之前最初所在的同一行上,因此如果用户要执行与所选行相关联的许多函数之一,则将在错误的行上执行。如果我需要更详细地详细说明,请告诉我,因为如果不遵守这一行为,有点难以解释。
我当前设置的简要示例:
checkboxSelector : new Slick.CheckboxSelectColumn({
cssClass: "slick-cell-checkboxsel",
}),
columns : [{
id : "name",
name : NAME,
field : "name",
width : 300,
editor : Slick.Editors.Text,
sortable : true
我还有一些列,但这就是我的行的样子。我会有一个复选框,然后是一个名称字段,然后是另一个列,等等。
现在出现了我的排序方式:
APPLICATION.grid.onSort.subscribe(function (e, args)
{
var cols = args.sortCols;
APPLICATION.gridData.sort(function (dataRow1, dataRow2)
{
for (var i = 0, l = cols.length; i < l; i++)
{
var field = cols[i].sortCol.field;
var sign = cols[i].sortAsc ? 1 : -1;
var value1 = dataRow1[field], value2 = dataRow2[field];
var result = (value1 == value2 ? 0 : (value1 > value2 ? 1 : -1)) * sign;
if (result != 0)
{
return result;
}
}
return 0;
});
APPLICATION.grid.invalidate();
APPLICATION.grid.render();
});
我是Slick Grid的新手并检查了他们的API,但无法提出任何解决方案。有没有人知道在按列排序时如何让我的复选框保留其各自的行?
非常感谢任何帮助。
谢谢!
-Dave F。
答案 0 :(得分:1)
dataView.syncGridSelection(网格,真)
我想你可能会在这里找到答案, Slickgrid checkbox and filtering problems