如何在重新加载另一个数据集ui-grid之前删除ui-grid上的排序

时间:2016-11-09 12:15:59

标签: javascript angularjs angular-ui angular-ui-grid ui-grid

我正在使用ui-grid来加载我的数据集。这是我的要求;

步骤01:我想加载dataset_01(scope.gridOptions.data = res_01;)。

步骤02:我想按名字排序(点击firstname列)。

步骤03:单击外部按钮并使用另一个数据集(scope.gridOptions.data = res_02;)重新加载ui-grid。

这是我的结果:

enter image description here

我不想在这里为First Name排序第二个数据集。 我希望数据没有排序。我该怎么办?

预期结果:

enter image description here

所以我想重新加载第二个数据集而不进行排序(意味着我想在加载第二个数据集之前删除第一个排序)。如何在加载下一个数据集(scope.gridOptions.data = res_01;)之前重置我的ui-grid。

我该怎么做?

谢谢。 :)

3 个答案:

答案 0 :(得分:2)

您可以将inspector的{​​{1}}属性设置为:

sort

并在之后使用columnDefs调用网格刷新。这应该重新渲染整个网格并摆脱排序。

答案 1 :(得分:0)

访问此页面:http://ui-grid.info/docs/#/api/ui.grid.core.api:PublicApi

在实例化gridApi之后,您只需调用:

$scope.gridApi.core.refresh();

希望有所帮助! :)

答案 2 :(得分:0)

  1. 像这样创建网格选项

示例

$scope.gridOptions = {
    useExternalPagination: true,
    useExternalSorting: false,
    enableFiltering: false,
    enableSorting: true,
    enableRowSelection: false,
    enableSelectAll: false,
    enableGridMenu: true,
    enableFullRowSelection: false,
    enableRowSelection: false,
    enableRowHeaderSelection: false,
    paginationPageSize: 10,
    enablePaginationControls: false,
    enableRowHashing: false,
    paginationCurrentPage:1,
    columnDefs: [
        { name: "FristName", displayName: "Frist Name", width: '6%', sort: { direction: undefined }  },
    ]
};

之后,您可以使用以下代码删除所需的排序

$scope.RemoveSorting = function ()
{
    $scope.gridOptions.columnDefs.forEach(function (d) {

        d.sort.direction = undefined;
    })
}