2012-09-04 4 views
1

checkboxmodel 선택 모델이 적용된 그리드가 있습니다. 컨트롤러 내에 청취자를 넣는 방법이 있습니까 control()?ExtJS 4.1에서 컨트롤러 내에서 selectionModel에 대한 리스너를 구현하는 방법 MVC

까지 DOCS까지 말하면 refs 속성은 구성 요소만을 나타냅니다. SelectionModel은 구성 요소가 아닙니다.

+0

는 당신이 selectionmodel''으로 수행 할 작업 콤보를 클릭하여 선택 만 강제

checkOnly: true 

체크 박스 사용을 사용하여 선택을 강제로? –

+0

체크 상자에서'select' 이벤트를 처리하고 싶습니다. –

+0

@webbandit 그리드가이 이벤트를 발생시킵니다. 체크 박스 모델 – sra

답변

1

컨트롤러의 control() 메소드를 사용하여이 모델이 포함 된 표에 리스너를 등록하기 만하면됩니다. 내가 아는 한, checkbox 모델의 모든 이벤트는 그리드까지 버블 링됩니다. 적어도 selectchange 이벤트는 체크 박스 모델과 함께이 하나를 사용하기 때문에 작동합니다.

'grid': {select: this.onSelect, selectionchange: this.onSelectionChange} 

그런 경우에는 전혀 사용하지 않는 것이 좋습니다.

편집 : 당신이 API에서 볼 수있는 것처럼

확인란의 checkboxmodel는 타입 Ext.form.field.Checkbox의 수 없습니다. 그런 이유로 체크 박스에서 하나의 이벤트가 있다는 것을 염두에 두지 마십시오.

는이

+0

'checkboxmodel'의'listeners' 속성에 모든 것을 쓰려고한다는 뜻입니까? –

+0

@webbandit No. 'grid'와 같은 컨트롤러 내에서 컨트롤로 등록하십시오 : {selectionchange : this.onSelectionChange} ' – sra

+0

@sra에 대한 아이디어를 가져 주셔서 감사합니다! 당신이 말했듯이'checkboxmodel' 이벤트는 그리드까지 버블 링됩니다. 그리드에서'beforeselect' 이벤트를 사용하고'checkboxmodel'과'record'가 필요한 매개 변수로 선택합니다. –

관련 문제