2012-04-11 4 views
0

저는 핸들러를 가지고 있습니다 : onCalendarEditFunc : 그리드에서 선택된 셀을 편집하기위한 것입니다. 지금 나는이있다 : row: this.store.indexOf(selection[0]), 잘 내가 선택한 행에서 첫 번째 셀을 편집 할 수처럼되고 작동ExtJS 행에서 특정 셀을 선택하십시오.

onCalendarEditFunc: function() { 
     var selection = this.getView().getSelectionModel().getSelection(); 
     requires : [ 
      'Ext.grid.plugin.CellEditing', 
      'Ext.grid.column.Column' 
     ] 



     edit = this.editing; 
     console.log(this.getView().getSelectionModel().getSelection()); 
     edit.cancelEdit(); 
    // this.store.insert(0, rec); 
     edit.startEditByPosition({ 
      row: this.store.indexOf(selection[0]), 
      column: 0 
     }); 

    }, 

. 하지만 내 행에 여러 열이 있으므로 column:에 선택한 셀의 값을 지정하고 싶습니다.

감사

Leron

+0

ExtJs3 또는 4입니까? – sha

+0

예, 해당 ExtJS 4 – Leron

+0

편집기를 시작할 열 인덱스를 알고 있습니까? – sha

답변

2

내 사건대로 편집 가능) 여기 당신이 할 수있는 일이 있습니다. 즉, initComponent 함수 기능의 시작이다

initComponent: function(){ 

     this.editing = Ext.create('Ext.grid.plugin.CellEditing'); 
     Ext.apply(this, { 
      title: 'Календар', 
      frame: false, 
      plugins : [this.editing], 
      store: 'CalendarEvents', 
      selModel: { 
       selType: 'cellmodel' 
      }, 

중요한 부분은 여기에 다음 편집 기능에서 다음 syntaxis을 사용할 수 있습니다

selModel: { 
      selType: 'cellmodel' 
      }, 

입니다 :

editfunction: function() { 
    var selection = this.view.getSelectionModel().getCurrentPosition(); 
    requires : [ 
     'Ext.grid.plugin.CellEditing', 
     'Ext.grid.column.Column', 
     'Ext.selection.CellModel' 
    ] 



    edit = this.editing; 
    //console.log(this.view.getSelectionModel().getCurrentPosition().column); 

    edit.cancelEdit(); 
// this.store.insert(0, rec); 
    edit.startEditByPosition({ 
     row: selection.row, 
     column: selection.column 
    }); 

}, 

그리고 이것은이다 이제는 선택한 셀의 위치를 ​​얻고 전달하여 함수 에서처럼 편집 할 수 있습니다.

edit.startEditByPosition({ 
      row: selection.row, 
      column: selection.column 
     }); 
1

이 같은 것을보십시오 :

당신이 선택한 셀을 버튼 기능을 편집하려면 (사용자가 선택한 정확한 셀을 감지하기 위해
edit.cancelEdit(); 
edit.startEdit(selection[0] /* this basically your record */, column /* 3 for example */); 
+0

그래, 대신에 '3'을 하드 코드하면 행의 선택된 열의 값을 가진 변수 여야합니다. 어쨌든 나는 workaraound 솔루션을 발견 했으므로 여기에 게시 할 것입니다. – Leron

+0

변수를 입력합니다. 계산할 수 있습니다. – sha

관련 문제