【wijmo 5.2】odata配置项
本帖最后由 nutstore 于 2021-6-4 11:07 编辑我们使用了odata协议加载数据,用了 ODataVirtualCollectionView 控件,结果每次都是固定取100条数据,设置了 pageSize 也没什么用。
我们希望能够控制这个数量,要怎么做呢?
另外,如果我们想一次性加载所有的数据,要怎么做呢?
你好,我这里测试了一下,pageSize:10,设置时可以起效的,你可以参考这个demo
https://demo.grapecity.com.cn/wijmo/demos/Grid/Data-binding/ODataAPI/purejs
在这里设置测试看看
正常情况下,不设置pageSize时就不会分页。你说的一次取到了100条数据,如果不是全部数据的话,可以看看Odata服务端是否已经进行了分页
Richard.Ma 发表于 2021-6-4 11:11
你好,我这里测试了一下,pageSize:10,设置时可以起效的,你可以参考这个demo
https://demo.grapecity.co ...
哦哦 好的,可能我们后端实现方面有点问题,demo上确实可以设置成功。
好的 ,有其他的问题欢迎发新帖咨询 Richard.Ma 发表于 2021-6-4 10:55
你好,我这里测试了一下,pageSize:10,设置时可以起效的,你可以参考这个demo
https://demo.grapecity.co ...
你好,我们在项目中,尝试了设置 pageOnServer: true, pageSize: 20 但是,每次发往服务器的请求参数还是top=100。
我们的代码:
const oDataView = new wjcOData.ODataVirtualCollectionView(
`/task/api/odata-report/${templateId}`,
'data',
{
oDataVersion: 4.0,
pageSize: 20,
pageOnServer: true,
sortOnServer: true,
filterOnServer: true,
loaded: () => {
setIsDataEmpty(oDataView.isEmpty)
},
},
)
最终发出去的请求参数:$format=json&$count=true&$skip=201&$top=100
这个跟服务器应该没什么关系,能帮忙看看是哪里有问题吗? 我看到你用的是ODataVirtualCollectionView,
https://demo.grapecity.com.cn/wijmo/demos/Grid/Data-binding/VirtualOData/purejs
在这个页面我也测试了一下,给virtualDetails设置后,请求的是按照20来增加的,你这边能否提供一个重现问题的示例,
Richard.Ma 发表于 2021-6-28 17:11
我看到你用的是ODataVirtualCollectionView,
https://demo.grapecity.com.cn/wijmo/demos/Grid/Data-bind ...
是的,我在你们的demo网站上测试过,确实可以正常工作,但是到我们的项目里,也是同样的设置,但是结果却不一样,这一块还涉及到服务器的接口,而且我们这个项目现在外部不太方便访问,确实没办法给出demo。 嗯,我明天会再找找看有没有第三方的odata源来测试一下看看,您那边也可以尝试一下 我们尝试了开源数据源,还是一样的,然后我去查了下你们的代码,其中有一句:
e.$top = Math.max(this._end - this._start + 1, this.pageSize, _MIN_DATA_WINDOW)
_MIN_DATA_WINDOW 是 100,我们遇到的情况应该跟这行代码有关系,但是代码混淆过了,我也无从判断具体是什么配置没写对还是什么原因。 本帖最后由 Richard.Ma 于 2021-9-23 11:16 编辑
您好,此问题的原因是新版本功能进行了调整。出于性能考虑最小的分页数是100,此参数目前没有提供对外的接口来调整。由于我们的中文在线demo用的还是稍早版本20191,因此没有能重现问题。如果您这边的需求确实是需要更小的分页的话,可以对源代码中的_MIN_DATA_WINDOW进行修改,此参数没有和其他的功能关联。
页:
[1]