0

無限スクロールを機能させようとしていて、関連するブログや投稿を調べましたが、verticalscroller が numfromedge に達したときにサーバーへのリクエストが発生しない理由がわかりませんか?

垂直スクローラーが numfromedge に到達すると、ストアからサーバーへのリクエストが発行されることを正しく理解しましたか? これは、サーバー側でクエリを管理し、ページごとに返す必要があることを意味しますか? または、サーバーから一度にすべてのレコードを返しますか? LeadingBufferedZone を 100 に設定し、purgePageCount を 0 に設定すると、サーバーに対してそれぞれサイズ 50 のリクエストが約 7 回行われるのでしょうか。しかし、この場合、ご覧のとおり、これはnumfromedgeでは発生せず、最初に発生します...

私のグリッド

Ext.define('AM.Something', {
extend : 'Ext.grid.Panel',
alias : 'widget.something',
title : 'something',
store : 'somethingStore',
    verticalScroller: {
        numFromEdge: 10,
        trailingBufferZone: 10,
        leadingBufferZone: 10
    },
verticalScrollerType: 'paginggridscroller',
invalidateScrollerOnRefresh: false,
disableSelection:true,

selType : 'rowmodel',
features : [ somefiltering],
plugins : // Row editing plugin ....

私の店

Ext.define('AM.somethingStore', {
extend: 'Ext.data.Store',
model: 'AM.somethingModel',
autoLoad : true,
autoSync: true,
//    remoteSort:true,
buffered : true,
//    leadingBufferedZone:100,
//    purgePageCount:0,
pageSize:50,
proxy: {
    type: 'ajax',
    api :
        {
            read : 'something/fetch',
            update:'something/update',
            create :'something/create',
            destroy : 'something/delete'
        },
    reader :
        {
        type : 'json',
        root : 'someList.content', // an array of rows for the grid
        successProperty : 'success',
        idProperty : 'id',
        totalProperty: 'total'
        },

    writer :
        {
        type : 'json',
        allowSingle : true
        }

}

バックエンドで spring-data と spring controller を使用します

  @RequestMapping(value = "/something/fetch", method = RequestMethod.GET)
public @ResponseBody
Map<String, ? extends Object> fetchPricing(@RequestParam Integer page,  @RequestParam Integer limit ) {
 Page<Somethings> someList= someService.fetchSomething(page-1,limit);
 Map<String, Object> responseMap = new HashMap<String, Object>();
 responseMap.put("success", true);
 responseMap.put("someList", someList);
return responseMap;
    }

スクロールバーがグリッドに表示された最後のレコードの 10 以内に到達すると、ストアはサーバーに page2 とページサイズ制限の要求を送信することを期待していました..

間違って設定されたものはありますか?

前もって感謝します

4

1 に答える 1

0

//autoLoad : true,
autoSync: true,
//remoteSort:true,
remoteFilter:true,
buffered : true,
leadingBufferedZone:200,
purgePageCount:0,
pageSize:50

グリッド

verticalScroller: {
        numFromEdge: 10,
        trailingBufferZone: 10,
        leadingBufferZone: 10
    },
verticalScrollerType: 'paginggridscroller',
invalidateScrollerOnRefresh: false,
disableSelection:true,
于 2012-10-25T14:33:26.743 に答える