RIA Services JSON and Ext.Js
RIA Services JSON and Ext.Js
我们的LOB应用程序使用Sencha Ext JS 4。在服务器上,我们使用带有JSON端点的MS RIA服务(Data Domain services)。总的来说,一切都正常。但分页不是。首先,我们发现JSON请求URL有RIA简单忽略的关键字(状态、页面等)。经过一些研究,我发现我可以使用以下语法:
例如:
http://localhost/Product/ServiceName.svc/JSON/GetItems?_dc=1328305056811&$take=50&$skip=50
即$skip(如果您使用$skip,则必须在RIA端对查询进行排序)和$take,这样的请求返回适当数量的记录。然而JSON响应一开始是这样的:
{"GetItemsResult":{"TotalCount":-1,"RootResults":[
即TotalCount=-1-为了使分页正常工作,JS需要知道记录的总数,以及我能看到这一工作的唯一方法-如果我用单独的请求查询记录的数量,然后进行页面查询。
问题是我错过了什么吗?RIA服务可以返回正确的TotalCount(如果没有$skip或$take,则RIA服务发送回整个表并正确指定TotalCount)。
很抱歉,我对您在服务器端使用的技术了解不多。我正在使用Grails,再高兴不过了。所以我帮不了你多少总数。
然而,对于分页参数,ExtJS允许将它期望发送/接收的内容转换为服务器端期望的内容。像这样:
proxy:{
type: 'ajax',
url: 'request/my.json',
//override default param names
startParam : "offset",
limitParam :"max",
sortParam : "sort",
simpleSortMode:true,//required for directionParam to be used
directionParam : "order",
reader: {
type: 'json',
root: 'data'
},
另一个想法是:如果你不能让服务器端发送总计数,那么在存储上创建一个侦听器,并在加载时手动计数记录,并将其设置到存储的totalCOunt属性中。
祝你好运。德米特里。
查看inlinecount选项:
http://msdn.microsoft.com/en-us/library/dd942040(v=prot.10).aspx
相关文章:
- Ext.js从json构建模型关系的问题
- 在EXT窗体面板中填充EXT JS存储
- 从Sencha Touch迁移到EXT JS 6-Contoller的默认/空路由
- 如何使用.log数据文件显示EXT-js网格
- Sencha Ext JS排序标准以字符串而不是JSON的形式发送
- ext-js网格面板滚动条不适用于jquery
- ext.js根据行和单元格索引隐藏某些单元格
- 在 Ext JS 4 MVC 应用中,什么应该负责加载商店
- 'Ext Js'表单字段验证使用'验证器'
- 调用后端、多路径变量、Ext Js
- 翻译是从哪里来的?Java servlet、tomcat和Ext Js Sencha应用程序
- 如何使用 Ext.js 向内存中的标记添加属性
- 分页 在 Ext JS 网格中
- 从 ExtJS 4 迁移到 Ext JS 5
- Ext JS工具栏和痕迹导航示例在JSFiddle中不起作用
- ext js 将面板的颜色更改为渐变
- Ext JS - 将面板绑定到数据存储的最佳方法
- ext.js中还有其他事件我应该使用吗
- Ext.js将列添加到属性网格中
- 如何在单独的文件中使用自定义Vtype,以便在EXT.JS中全局使用它们