2010-03-15 3 views
11

나는 ExtJS로 시작하고있다. 지금 현재로ExtJS Grid에서 특정 셀의 값을 읽고 설정하는 방법은 무엇입니까?

my_store = new Ext.data.JsonStore({ 
    root: 'topics', 
    totalProperty: 'totalCount', 
    idProperty: 'details_id', 

    fields: [ 
     {name : 'index', type : 'int'}, 
     {name : 'inactive', type : 'int'}, 
     {name : 'c_1',  type : 'string'}, 
     {name : 'c_2',  type : 'string'}, 
     {name : 'c_3',  type : 'string'}, 
     {name : 'c_4',  type : 'string'} 
    ], 
    proxy: new Ext.data.ScriptTagProxy({ 
     url: 'my_proxy_url' 
    }) 
}); 

이 내가의 행과 열을 검색하는 데 사용할 것입니다 : 나는
나는 EditorGrid 및 저장소가 그렇게 찾고 사용을 선택 셀에서 값을 읽으려고하고있다 선택한 셀 :

표에서 선택한 셀의 값을 읽고이 값을 변경하려면 어떻게해야합니까?

답변

12

전적으로 선택 모델에 따라 다릅니다. RowSelectionModel하면 따라서 같이 선택된 행의 기록을 얻을 수 있습니다 :

var sel_model = grid.getSelectionModel(); 
var record = sel_model.getSelection()[0]; 

을 그리고 당신이 할 필요가 설정() 메서드를 사용하는 것입니다 : EditorGridPanel 당신과 함께, 물론

record.set("c_1","Test"); 

를 ' 직접 편집하지 않고 컨트롤에 편집을 지정해야합니다.

+0

감사합니다 ... 많이 ... 이것은 내가 검색 한 것입니다. 축복합니다 –

-1
당신의 대답에 따라

@Llyod

아주 잘

을 설명하고있다 그것은 전적으로 당신의 선택 모델에 따라 달라집니다. RowSelectionModel하면 따라서 같이 선택된 행의 기록을 얻을 수 있습니다 :

var sel_model = grid.getSelectionModel(); 
var record = sel_model.getSelection()[0]; 

그런 다음 당신이 할 필요가 set() 방법을 사용한다 : 물론

record.set("c_1","Test"); 

, EditorGridPanel와 당신이 생각하고 직접 편집하지 않고 컨트롤에 편집을 지정합니다.

이 작동하지만 열 이름 대신 value (e.g. 4 or 5) 열을 사용하여 셀 값에 액세스하려고하면 어떻게됩니까? 동일한 작업을 수행 할 수 있습니까?

관련 문제