复选框在Slick Grid中未正确排序

时间:2015-12-07 14:57:54

标签: javascript jquery html sorting slickgrid

我正在修复我们的某个应用程序中的排序问题,但我遇到了一个问题。我正在使用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。

1 个答案:

答案 0 :(得分:1)

dataView.syncGridSelection(网格,真)

我想你可能会在这里找到答案, Slickgrid checkbox and filtering problems