Ext CheckboxSelectionMode 선택

1787 단어 checkbox
Ext의 데이터 테이블에서 때때로 우리는 checkbox 열을 이용하여 선택을 할 수 있다. 때로는 확실히 좋은 체험이지만, 나는 2에서X에서 3.x하나의 버그가 지금까지 복구되지 않았거나 Ext는 이것이 하나의 버그가 아니라고 생각했다. 그것은 바로 데이터 테이블을 선택할 때 모든 기록을 데이터 테이블 머리에 있는 그 checkbox가 선택되지 않았고 프로젝트를 할 때 이 문제를 만났기 때문에 해결되었다. 주로 checkboxselectionmode를 다시 썼다. 코드는 다음과 같다.

Ext.override(Ext.grid.CheckboxSelectionModel,{
	onMouseDown : function(e, t){
        if(e.button === 0 && t.className == 'x-grid3-row-checker'){
            e.stopEvent();
            var row = e.getTarget('.x-grid3-row');
            if(row){
                var index = row.rowIndex;
                if(this.isSelected(index)){
                    this.deselectRow(index);
                }else{
                    this.selectRow(index, true);
                    this.grid.getView().focusRow(index);
                }
                
                /* */
                try{
                	var selectedNum = this.getCount();//   
                	var pageCont = this.grid.store.getCount();// 
                	
					if(Ext.isEmpty(this.hdElement)){
						this.hdElement = Ext.select('div[class*=x-grid3-hd-inner x-grid3-hd-checker]',null,this.grid.id);
						this.hdEl = Ext.get(this.hdElement);
					}
					
					if(selectedNum == pageCont){
						this.hdEl.addClass('x-grid3-hd-checker-on');
					}else{
						this.hdEl.removeClass('x-grid3-hd-checker-on');
					}
                }catch(e){
                	// , 
                }
                
            }
        }
    }
});

try {}catch () {} 부분은 제가 가입한 코드입니다.

좋은 웹페이지 즐겨찾기