RowEditing 플러그인에 ExtJS4 무한 스크롤 페이지 매김
-
12-12-2019 - |
문제
저는 무한 스크롤을 일으키려고 노력하고 있으며 관련 블로그와 게시물을 통해 갔지만 알아 내지 못해야 할 수 없습니다. 왜냐하면 내 수직 스크롤러가 NUMFROMEDGE에 도달 할 때 서버에 요청하지 않습니까?
수직 스크롤러가 NumFromedEdge에 도달 할 때 요청이 Store에 의해 서버에 해고되면이 문제를 올바르게 이해하셨습니까? 이는 서버 측에서 쿼리를 관리하고 페이지별로 반환해야 함을 의미합니까? 또는 서버에서 한 번에 모든 레코드를 반환합니까? keartbufferedzone을 100이고 purgePageCount를 0으로 설정하면 50 개의 크기가 50 개에 서버에 만들어 졌습니까? 그러나이 사건에서 이것을 볼 수있게해서 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 ....
.
My Store
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
}
}
.
백엔드
에서 스프링 데이터와 스프링 컨트롤러를 사용합니다. @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;
}
.
Store가 Page2 및 PageSize Limit ..
에 대한 서버에 대한 요청을 보내는 그리드에 표시된 마지막 레코드 중 10 개 이내로 스크롤 막대가 도달 할 것으로 예상했습니다.잘못 구성된 것이 있습니까?
미리 감사드립니다
해결책
저장소
//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,
. 제휴하지 않습니다 StackOverflow