如何通过 Azure 移动服务使用服务器端排序和分页

2024-02-22

我正在将 jqGrid (inlineNav) 与来自 azure 服务的数据一起使用,并且有兴趣了解如何通过 Azure 移动服务使用服务器端排序和分页。

请分享对此的想法。


Windows Azure 移动服务提供 REST API,可用于获取/插入/编辑/删除您为相应访问配置的表的数据(请参阅文档 http://msdn.microsoft.com/en-us/library/windowsazure/jj591475.aspx). 查询记录操作 http://msdn.microsoft.com/en-us/library/windowsazure/jj677199.aspx请求使用 HTTP GET 动词。它支持开放数据协议 (OData) URI 选项$orderby, $skip, $top and $inlinecount可以用来填充jqGrid。

$("#list4").jqGrid({
    url : 'https://mohit.azure-mobile.net/tables/Schedules',
    datatype: "json",
    height: "auto",
    colModel: [
        { name: "RouteId", width: 50 },
        { name: "Area", width: 130 }
    ],
    cmTemplate: {editable: true, editrules: { required: true}},
    rowList: [10, 20, 30],
    rowNum: 10,
    prmNames: { search: null, nd: null },
    ajaxGridOptions: {
        contentType: "application/json",
        headers: {
            "X-ZUMO-APPLICATION": "myKey"
        }
    },
    serializeGridData: function (postData) {
        if (postData.sidx) {
            return {
                $top: postData.rows,
                $skip: (parseInt(postData.page, 10) - 1) * postData.rows,
                $orderby: postData.sidx + " " + postData.sord,
                $inlinecount: "allpages"
            };
        } else {
            return {
                $top: postData.rows,
                $skip: (parseInt(postData.page, 10) - 1) * postData.rows,
                $inlinecount: "allpages"
            };
        }
    },
    beforeProcessing: function (data, textStatus, jqXHR) {
        var rows = parseInt($(this).jqGrid("getGridParam", "rowNum"), 10);
        data.total = Math.ceil(data.count/rows);
    },
    jsonReader: {
        repeatitems: false,
        root: "results",
        records: "count"
    },
    loadError: function (jqXHR, textStatus, errorThrown) {
        alert('HTTP status code: ' + jqXHR.status + '\n' +
            'textStatus: ' + textStatus + '\n' +
            'errorThrown: ' + errorThrown);
        alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
    },
    pager: "#pager1",
    sortname: "Area",
    viewrecords: true,
    caption: "Schedule Data",
    gridview: true
});

对上面代码的一些注释:

  • 我删除了sortable: false允许通过单击列标题对网格进行排序
  • 尊重prmNames选项一可以删除向服务器发送不需要的参数或对其进行重命名。我用了prmNames: { search: null, nd: null }拒绝发送_search and nd选项。一个可以使用sort: "$orderby", rows: "$top"重命名另外两个参数,但是因为我们需要计算$skip并附加sord after sidx我们需要使用serializeGridData。因此本例中不需要重命名其他参数。
  • using serializeGridData我们构建将发送到服务器的选项列表。
  • ajaxGridOptions将用于设置 jQuery.ajax 请求的附加参数,该请求在内部执行 jqGrid 以访问服务器。我在示例集中使用的选项Content-Type: application/json and X-ZUMO-APPLICATION: myKey在 HTTP 标头中
  • 服务器的响应不包含total(总页数),所以我们使用beforeProcessing根据其他信息填充属性的回调before将处理响应。
  • 因为我们使用$inlinecount=allpagesURL 中的选项来自服务器的响应将包含有关记录总数的信息,并且数据页将包装在results答案的一部分。所以我们使用jsonReader: {repeatitems: false, root: "results", records: "count"}阅读回复。
  • 我们必须删除loadonce: true选项,因为服务器仅返回请求的数据页而不是整个数据集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 Azure 移动服务使用服务器端排序和分页 的相关文章

  • WCF 服务中的“即发即忘”

    我在 Azure 上有很多 WCF REST 服务 在某些 WCF 服务中 我向外部服务调用 Http 请求 例如发送电子邮件 短信 对非关键第三方服务的 http 请求 我不希望这阻碍我对客户电话的响应 需要一些关于在这种情况下使用的模式
  • symfony api 平台深度

    到目前为止 我们一直在 Symfony Doctrine 和 Serializer 深度方面苦苦挣扎 我希望能够使用 Symfony 提供一级深度的 JSON REST API 从而允许我直接从视图管理我的 外键 和关系逻辑 GET peo
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • Azure 管理 API 返回 500 内部服务器错误

    我通过此请求从 Azure REST 管理 API 返回 500 内部服务器错误 为什么 X509Certificate cert X509Certificate2 CreateFromCertFile cert path string u
  • 什么时候使用Jersey的@Singleton注解?

    我正在开发 RESTful Web 服务 并在阅读泽西岛时文档 https jersey java net documentation latest jaxrs resources html d0e1851我发现了一个注释 Singleto
  • 如何在 Azure 中仅部署辅助角色/Web 角色

    如果您在 Azure 解决方案中拥有 Web 和辅助角色 那么所有等待发布更新包 上传到云存储 等待包部署的过程可能会让人筋疲力尽 浪费大量时间 如何仅上传 部署包含这两个角色的 Microsoft Azure 解决方案的辅助角色或 Web
  • 在 Windows 服务和 Azure WebJob 之间利用单一代码库的方法

    我正在开发一个定时重复流程 在某些情况下将部署在本地 而在其他情况下将部署在云 Azure 中 我正在研究 Windows 服务和 Azure WebJob 鉴于我只需要重复过程作为定时部分 我正在考虑将大量逻辑放在一个库中 只是本地部署的
  • 应用服务中的内存利用率是否可​​以提高

    我有一个相当简单的 Web 应用程序在 Azure 的 B1 服务计划中的应用服务计划中运行 该计划提供 1 个 CPU 和 1 75GB RAM CPU 使用率永远不会超过 5 左右 内存使用率永远不会低于 52 我确实停止了计划中唯一运
  • Azure消息队列中的消息将直接进入Poison消息队列

    希望这可以节省某人一些时间 当移动到较新的版本时 下面的代码停止工作QueueClient https learn microsoft com en us dotnet api azure storage queues queueclien
  • 具有 blobfuse 或 Azure 存储 Blob 的 Azure 容器实例

    我正在从 azure 容器注册表 azure cli 和 或门户 部署到 azure 容器实例 Azure blobfuse 在 ubuntu 18 上 出现以下错误 未找到设备 请先尝试 modprobe fusion 解决这个问题的方法
  • 如何使现有 ARM 模板上的资源 API 版本保持最新?

    我有一个现有的 Azure 模板 它配置以下资源 Microsoft ClassicStorage StorageAccounts api version 2014 06 01 microsoft insights components a
  • 有没有办法让 Swashbuckle 将 OData 参数添加到 Web API 2 IQueryable 端点?

    我有一个支持 OData 查询的 ASP Net Web API 2 端点 是这样的 HttpGet Route public IQueryable
  • 如何按角色限制对 Spring Data REST 投影的访问?

    在使用 Spring Data JPA 和 Spring Data REST 的应用程序中 假设您有一个如下所示的实体类 Entity public class Person Id GeneratedValue private int id
  • jqgrid。改变主题

    如何在不更改样式表的情况下更改 jqgrid 的外观 基本上我使用 jqueryui 来设计我的网站 但我想为网格使用不同的背景图像 这可能吗 您是否想要将多个 jQueryUI 主题应用到同一页面 并让 jqgrid 使用其中一个主题 同
  • 将新的 SQL Azure 层与旧层进行比较 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 既然 Microsoft 提供了新的 SQL Azure 服务级别 基本 标准 高级 我们正在尝试弄清楚它们如何映射到现有服务级别 Web
  • 使用 PHP PayPal REST API 退款?

    我正在开发一个集成到 PayPal 的 REST API 中的 PHP 应用程序 我正确处理了事务并将事务 ID 保存到 MySQL 数据库中 我现在正在尝试退款 但无法让它停止给出 传入 JSON 请求未映射到 API 请求 错误 有人对
  • 将网站部署到云服务的最佳实践

    在云服务上部署多个网站的最佳实践是什么 我有三个网站 是否可以将这三个网站部署到一个云服务中 一个云服务三个实例 或者我是否必须创建三个云服务并单独部署每个网站 谢谢 我的服务定义文件
  • Azure VM 上的 MongoDb 连接超时

    将我的 Azure Web 应用程序连接到 Azure VM 上托管的 MongoDb 时 我遇到一些超时问题 2015 12 19T15 57 47 330 0100 I NETWORK Socket recv errno 10060 A
  • 本地测试 Azure Active Directory 安全性

    我在 Azure 上部署了一个 Web 应用程序 并启用了 Azure Active Directory 安全性 快速设置 因此 当我尝试访问该应用程序时 我需要成为 AD 的一部分才能访问 我想向应用程序添加更多功能 例如显示当前登录的用
  • 如何为新的 Silverlight 应用程序在 WCF、REST、POX 和 RIA 服务之间进行选择

    There a lotSilverlight 应用程序连接回其服务器的不同方式 包括 WCF Windows 通信基础 http msdn microsoft com en us netframework aa663324 aspx RES

随机推荐