2011-12-15 1 views
0

im의 확인란 선택 모델과 CellEditing을 결합 할 때 getEditor() 오류가 발생하고 extjs 4.0을 사용하며 편집 가능한 표를 확인란 선택 모델과 결합하려고합니다. 내가extJs 4.0 GridPanel

Uncaught TypeError: Object [object Object] has no method 'getEditor' 

의 체크 박스 열합니다 (cellediting 플러그인 방식으로) 편집하는데 밤은 내게 분명 그래서 getEditor 기능이 없다이 오류 메시지가 얻을 수있는 체크 박스를 클릭하면 문제입니다.

colEdx = 0에 대한 버전을 건너 뛰는 CellEditing 구성 요소에서 beforeedit 수신기를 정의하려고 시도했지만 startEditByClick 메서드에서이 오류가 발생하기 바로 전에 오류가 발생하기 때문에 호출되지 않습니다.

그래서, 내 질문은 내가한다이다 :

a)는 getEditor NO-OP 함수를 정의하고 첫 번째 열에에 바인딩? 이게 가능한지 모르겠다.

b) startEditByClick 함수가 호출되기 전에 발생하는 colIdx = 0 일 때 편집을 건너 뛰는 리스너를 정의 하시겠습니까? 이것이 어떤 구성 요소의 사건일까요? P)

here's 일부 코드

var cellEditing = Ext.create('Ext.grid.plugin.CellEditing', { 
    clicksToEdit: 1 
}); 

Ext.define('RPV.view.aviso.AvisosList', { 
    extend: 'Ext.grid.Panel', 
    store: 'AvisosStore', 

    selModel: Ext.create('Ext.selection.CheckboxModel'), 
    plugins: [cellEditing], 

    initComponent: function() { 
     this.columns = [{ 
      header: 'NIV', 
      dataIndex: 'niv', 
      flex: 1, 
      editable: false 
     }, { 
      header: 'NCI', 
      dataIndex: 'nci', 
      flex: 1, 
      editable: false 
     }, { 
      header: 'Tipo movimiento', 
      dataIndex: 'tipoMovimiento', 
      width: 130, 
      field: { 
       xtype: 'combobox', 
       typeAhead: true, 
       triggerAction: 'all', 
       selectOnTab: true, 
       store: 'TipoMovimientoStore', 
       lazyRender: true, 
       listClass: 'x-combo-list-small', 
       mode: 'remote', 
       minChars: 0, 
       valueField: 'descripcion', 
       displayField: 'descripcion', 
       emptyText: 'No especificado' 
      } 
     }, { 
      header: 'Observaciones', 
      dataIndex: 'observacionesDwr', 
      width: 130, 
      field: { 
       xtype: 'combobox', 
       typeAhead: true, 
       triggerAction: 'all', 
       selectOnTab: true, 
       store: 'ObservacionesStore', 
       lazyRender: true, 
       mode: 'remote', 
       minChars: 0, 
       valueField: 'descripcion', 
       displayField: 'descripcion', 
       autoSelect: false 
      } 
     }]; 

     this.callParent(arguments); 
    } 
}); 

UPDATE :

c)는 한가 (작동하기 때문에 자바 스크립트 오류를 ​​무시이 버그라고 http://www.sencha.com/forum/showthread.php?137731-Using-checkbox-selection-model-in-the-editable-grid-produces-an-error&highlight=CellEditing 가 이미 먹으 렴이 링크를 발견 버전에 수정 된 4.1.0

답변

1

onBeforeEditCell : function(event) {   
     if (event.column && event.column.isCheckerHd) { 
      return false; 
     } 

     return true; 
    } 
시도 1 \t beforeEdit :

http://www.sencha.com/forum/showthread.php?140253-Ext.grid.plugin.CellEditing-Ext.selection.CheckboxModel-TypeError

+0

난 {var에 cellEditing Ext.create = ('Ext.grid.plugin.CellEditing'로 \t clicksToEdit 그것을 해결 함수 (이벤트) { (event.column 경우를 && event.column.isCheckerHd) { false를 반환합니다. } return true; } }); '하지만 여전히 도움이되고 올바른 방향으로 나를 가리킨 답변 사촌을 받아 들일 것입니다. – jambriz