gpt4 book ai didi

javascript - kendo ui 网格查询参数

转载 作者:行者123 更新时间:2023-11-29 21:37:56 24 4
gpt4 key购买 nike

我正在使用带有服务器端分页、过滤和排序的 kendo ui 网格。使用 C# WebAPI,其中所有网格参数(例如过滤器、排序、当前页面和页面大小)都通过 kendo 网格 API 在 url 中发送,我的 WebAPI 中有 DataSourceRequest,它可以读取所有查询参数并在我返回数据时应用它们来自 API。

我这里有具体情况。我有一个导出链接,在该链接中我需要使用 $http 服务来调用我用于所有过滤器和排序的相同 API,这些过滤器和排序应用于要返回的所有记录的网格。

我拥有网格的所有属性,例如过滤器和排序。

我可以从 kendogrid 的数据源访问它

 var query = {
page: 1,
pageSize: grid.dataSource.total(),
sort: grid.dataSource.sort(),
filter: grid.dataSource.filter()
}

我需要通过应用所有过滤器和排序来调用我用来呈现 kendogrid 的相同 API。任何人都可以帮助我剑道网格如何生成包含所有这些参数的查询字符串。所以也许我可以重复使用相同的功能

http://localhost:3306/api/test/62ca5945e15b0cb85bec257eec8f0bf1/grid ?filter=stepType~eq~%27Rejected%27&sort=&aggregate=&pageSize=10&page=2&isFirstLoad=false&showColumns=name%2CtotalScore%2Crank%2CexpirationDate%2CstepName%2C&_=1450310137369

任何人都可以帮助我在哪里可以找到一个函数来生成所有查询参数以及我从网格中检索到的过滤器、分页和排序值。

最佳答案

我之前使用 parameterMap 和 angular 实现了这个,但我想如果只使用 jQuery,它会非常相似。看这个url .

我使用 parameterMap 的代码片段

$scope.pageableData = new kendo.data.DataSource({
type: "aspnetmvc-ajax",
pageSize: $scope.pageSize,
serverPaging: true,
serverFiltering: true,
serverSorting: true,
transport: {
read: {
url: $rootScope.projectURL + '/api/DocLibItems/PageableGridItems',
dataType: 'json',
type: 'post'

},
parameterMap: function (data, type) {
$scope.pageableGridCreateCache = false;
var filter = data.filter === undefined ? null : data.filter;
if (filter) {
angular.forEach(filter.filters, function (item) {
item._operator = item.operator;
});
}
return {
ProjectID: $scope.projectID,
PageNumber: data.page,
PageSize: data.pageSize,
Sorting: data.sort === undefined ? null : data.sort,
Filtering: filter
};
}
}
});

ParmeterMap 正在返回 ProjectID、PageNumber、PageSize、排序和过滤。 api 应该期望收到该数据并基于该数据返回数据。

初始调用将调用相同的 api,其中 pageNumber 为 1,pageSize 为默认 pageSize,排序为 null,并且没有过滤。

api的调用是post,所以url中不会有任何参数。

关于javascript - kendo ui 网格查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34324670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com