使用AngularJS在Kendo UI Grid中刷新参数

时间:2015-03-17 21:52:52

标签: angularjs kendo-grid

我试图在AngularJS中使用Kendo UI Grid,我在其中定义网格,如下所示:

<div id="grid" kendo-grid="grid" k-options="gridOptions" />  

然后我在控制器中设置选项,如:

        $scope.gridOptions = {
            height: 543,
            scrollable: {
                virtual: true
            },
            sortable: true,
            dataSource: {
                type: 'json',
                serverPaging: true,
                serverSorting: true,
                pageSize: 100,
                transport: {
                    read: {
                        url: '/C99_JsonService/F20_GetTrattativePerRicercaConFiltro',
                        dataType: 'json',
                        data: {
                            idvenditore: 9,
                            stato: $scope.statomacchina,
                            esito: $scope.esitotrattativa
                        },
                    }
                },
                schema: {
                    data: function(result) {return result.Data || result;},
                    total: function(result) {return result.Total || result.length || 0;}
                }
            }
        };

正如您所看到的,我在请求中使用了一些其他自定义参数,它们也与角度变量相关联。
在第一次加载时,事情进展顺利,我得到了正确的数据 然后,我添加了一个按钮来刷新网格,其中包含用户在用户界面中编辑过的新值,并与“esitotrattativa”相关联。 e&#39; statomacchina&#39;。 我将按钮连接到以下功能:

$scope.esegui = function () {
    $scope.grid.dataSource.read();
    $scope.grid.refresh();
};

当我点击按钮(执行功能&#39; esegui&#39;)时,请求再次发送到服务器,但是变量中的原始值,即使我看到参数中的实际值被更改:看起来有一些使用缓存值的优化...
或者我错过了什么重要的事情? 感谢大家 安德烈

1 个答案:

答案 0 :(得分:0)

当您执行此类读取时,可以发送参数

$scope.esegui = function () {
    $scope.grid.dataSource.read({foo:42});
};