You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 6中如何使用自定义指令实现Kendo Grid服务端分页

Kendo Angular Grid 服务端分页非OData场景取值说明

这两个字段没有固定的标准关键字,完全由你自己的前后端接口约定定义,调整步骤如下:

1. 定义后端接口返回结构

你后端对接Oracle查询时,需要返回两类核心数据:当前分页的用户列表数组、符合查询条件的总记录数,你可以自定义返回的键名,示例结构如下:

{
  "records": [ // 存储当前页用户列表的键,可自定义命名
    {"name": "xxx", "address": "xxx", "email": "xxx", "mobile": "xxx"},
    // 更多当前页数据
  ],
  "total": 256 // 存储总条数的键,可自定义命名
}

2. 调整前端rebind方法取值

按照你和后端约定的键名,替换原有OData的固定字段即可,同时注意原代码只有map操作没有订阅Observable,会导致请求不触发,修改后示例代码如下:

public rebind(): void {
     this.apiService.GetUserDetails(this.loginUserId, this.state, this.totalRecords, this.searchedUserDetails)
     .subscribe(response => (<GridDataResult>{
         data: response['records'], // 替换为你约定的列表字段名
         total: parseInt(response['total'], 10) // 替换为你约定的总条数字段名
     }));
}

3. 配套后端逻辑调整

你需要同步修改后端接口逻辑适配服务端分页:

  • 接收Kendo Gridstate参数中的skip(偏移量)、take(每页条数)参数,编写Oracle分页SQL查询当前页数据,Oracle 12c+可直接用OFFSET ? ROWS FETCH NEXT ? ROWS ONLY语法,低版本可通过ROWNUM嵌套实现分页。
  • 额外执行一次无分页的COUNT查询,统计符合当前筛选条件的总记录数,和分页列表一起返回给前端即可。

内容的提问来源于stack exchange,提问作者CPK_2011

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:36:03