如何使用过滤后的数据重新加载剑道网格?

问题描述 投票:1回答:1

我有一个剑道网格,我在其中选择了一个过滤器,正在重新加载网格,我希望在重新加载网格时使用相同的过滤器。

我正在使用以下代码重新加载网格。它可以工作,但是不会显示选中的过滤器项目。我在过滤器中检查了IDR,然后重新加载了页面,该页面显示已选中1个项目,但未显示IDR。

function ReloadGrid() {
    var grid = $('#gridId').data('kendoGrid');
    grid.dataSource.read();
    grid.setDataSource(grid.dataSource);
}

enter image description here

kendo-ui kendo-grid kendo-asp.net-mvc
1个回答
0
投票

有两种方法可以实现。

一种方法是将过滤器保存在数据库中,第二种方法是使用注释中提到的本地存储。

我更喜欢第二个,使用本地存储来保存过滤器并在读取时加载它。

@@ GaloisGirl指向正确的方向。

再次检查此示例:Persist state

语言环境存储的基本用法是以某些名称(键,值)保存一些数据:

    let person = {
        name: 'foo',
        lastName: 'bar'
    };

    let save = function (person) {
        let personString = JSON.stringify(person);
        localStorage.setItem('person', personString);
        console.log('Storing person: ', personString);

    };

    let load = function () {
        let personString = localStorage.getItem('person'); // <----string
        let person = JSON.parse(personString); // <----object
        console.log('Stored person: ', person);
    };

    let remove = function (name) {
        localStorage.removeItem(name);
        console.log('Removed from local storage!');
    };

    save(person);
    load();
    remove(person.name);

在剑道世界中,您需要将网格的当前选项状态保存在本地存储中,您可以通过添加按钮来实现这一点,例如在示例中或在更改时即时更改或使用window.onbeforeunload或在示例中如在重新加载网格之前的示例中。

您可以在浏览器的应用程序选项卡下检查保存的数据,例如铬:enter image description here

希望它会有所帮助,gl!

© www.soinside.com 2019 - 2024. All rights reserved.