ExtJs ComboBox 페이지 질문

2139 단어 combobox
ExtJs에서는 ComboBox 드롭다운 목록에 데이터를 표시하는 데 자주 사용되지만, 데이터가 너무 많으면 페이지를 나누는 기술을 사용합니다.최근에 프로젝트를 할 때 아래 표의 데이터를 읽었지만 페이지를 나누지 않았습니다. 제 주요 코드는 다음과 같습니다.
1. ComboBox 드롭다운 목록에 표시해야 하는 store를 가져옵니다.
 
var spCode = new Ext.data.Store({
   			url:'business!getAllBusiOfParent.action',
   			autoLoad:true,
   			params:{start:0},
            remoteSort: true,
            reader:new Ext.data.JsonReader({
                	    root: "data",
                	    totalProperty:'total'
                	},[        {name:"bizcode"},
                	           {name:"bizname"}
                	  ] )
                	  
   		});

 2.Store를 ComboBox에 넣고 페이지를 나누기
 
 var spCombo = new Ext.form.ComboBox({   
	        hiddenName : 'bizcode',   
	        fieldLabel : ' ',   
	        emptyText:' ',   
	        mode : 'local',   
	        triggerAction : 'all',   
	        valueField : 'bizcode',   
	        displayField : 'bizname',   
	        editable : true,
	        forceSelection:true,
	        allowBlank:true,
	        pageSize:4,
	        store : spCode,
	        width:210,
	        maxHeight:100,
	        listeners : {  
                'beforequery':function(e){                      
                    var combo = e.combo;    
                    if(!e.forceAll){    
                        var input = e.query;     
                        combo.store.baseParams={query:input,limit:combo.pageSize};
                        combo.store.load();
                        return false;  
                    }  
                }
            }

여기에 페이지를 나누는 아이콘도 나왔지만 모든 데이터가 표시되어 페이지를 나누는 데 성공하지 못했다.뒤에 코드를 자세히 검사한 결과 trigger Action이라는 속성을 all로 설정하려면query로 바꾸면 됩니다.all을 위해, 모든 데이터를 표시합니다.query에 문제가 있다면, 매번 조회한 후에, 검색 결과를 비워야만 데이터를 다시 표시할 수 있습니다.
 

좋은 웹페이지 즐겨찾기