ExtJS : PagingToolbar 페이지 변경에서 행 선택을 취소하지 못하게하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com//questions/12700101

  •  12-12-2019
  •  | 
  •  

문제

CheckBoxModel 페이징을 사용할 때 페이지 변경에서 선택한 모든 행을 선택 취소하십시오. 툴바 ? 페이지 변경에서 행 선택의 선택을 중단하려면 어떻게합니까?

노드의 제거를 방지하는 데 사용할 수있는 pruneremoved가 있지만 false로 설정했지만 선택 취소는 여전히 해고됩니다. 그 밖의 무엇을 시도할지 모르겠습니다.

저장소가 변경 될 때 PagingToolbar를 저장할 수있는 CheckBoxModel 레지스터를 가정하고 있습니다 ... 그런 다음 모든 것을 선택 취소합니까? 왜? 나는 그것을 막을 필요가있다.

편집 : 해약을 원하지 않는 이유는 다음과 같습니다. 핸들러를 선택하고 선택 취소합니다. 다른 그리드에 행 추가를 선택하고 선택을 취소합니다. 따라서 사용자가 행이 다른 그리드에 추가 된 확인란을 검사하면 해당 그리드에서 제거되지 않은 상태를 확인하십시오. DelectAll을 발사하는 그리드에서 저장소가 변경되면 다른 그리드의 모든 저장된 행을 모두 잃습니다.

도움이 되었습니까?

해결책

이 작업을 수행하는 올바른 방법인지 확실하지 않지만 저를 위해 일하고 있습니다.

내가 한 일은 내 자신의 ext.grid.view를 생성했습니다.Extended Extended.View.Table 및 Over-Road onMaskBefoReShow 메소드.이것은 그리드 선택 모델에서 모두 선택 취소 된 메서드입니다.당신이 볼 수 있듯이 나는 그것을 여기에서 그것을 밖으로 논평했다

Ext.define('Ext.grid.SteveView', {
    extend: 'Ext.view.Table',
    alias: 'widget.stevegridview',

    onMaskBeforeShow: function(){
        var me = this,
            loadingHeight = me.loadingHeight;

        //me.getSelectionModel().deselectAll();
        me.all.clear();
        if (loadingHeight && loadingHeight > me.getHeight()) {
            me.hasLoadingHeight = true;
            me.oldMinHeight = me.minHeight;
            me.minHeight = loadingHeight;
            me.updateLayout();
        }
    }
});
.

위의 스크립트를 포함 한 다음 그리드를 만들 때 viewType을 stevegridview로 변경하거나 이름을 지정하려는 것을 변경하십시오.

    {
        xtype: 'grid', 
        viewType:'stevegridview',
        store:'some store'
        ...
    }
.

새로운 뷰 유형이 사용됩니다. 새 OnMaskBeforeShow ()가 호출됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top