2013-10-02 3 views
1

나는 그리드에 actioncolumn을 추가했고 푸시 될 때 그리드 값을 얻으려고합니다.그리드에서 값 가져 오기

onBidHistoryGridlClick: function(record, grid, rowIndex){ 
    alert(grid.getStore().getAt(rowIndex).column_name); 
} 

이 나던 작업 :

xtype: 'actioncolumn', 
width: 30, 
sortable: false, 
menuDisabled: true, 
items: [{ 
    icon: 'images/refresh16x16.png', 
    scope: this, 
    handler: this.onBidHistoryGridlClick 
} 

이 내 청취자입니다 :

내 actioncolumn입니다.

pic

어떤 아이디어가?

답변

2

청취자 인수에 레코드가 있습니다. 사용하십시오!

record.get('column_name') 

당신은 아마도 자신의 미정과 가까웠지만 상점에서 얻은 것은 원시 데이터 객체가 아니라 기록이라는 것을 잊었을 것입니다. 그래서 오히려했을 것이다 :

grid.getStore().getAt(rowIndex).get('column_name') 

업데이트 당신은 당신의 핸들러의 인수가 잘못있어

합니다 (docs 확인). 이되어야합니다 : @ rixo의 대답에 추가

onBidHistoryGridlClick: function(view, rowIndex, colIndex, item, e, record){ 
    alert(record.get('column_name')); 
} 
+0

을, 하지만 난 오류가 발생 : "잡히지 TypeError : 개체 [개체 개체]"메서드를 '얻을' ". 어떤 아이디어? – susparsy

+0

핸들러의 인수를 수정하십시오. 내 업데이트를 참조하십시오. – rixo

+0

내 친구, 잘 했어! – susparsy

0

, 당신은 문맥에 따라 "데이터"속성 (이벤트 핸들러 콜백 함수)를 사용할 필요가 있습니다 : 나는 기록을 사용하여 tryed

   handler: function (grid, rowIndex, colIndex) { 
        var rec = grid.getStore().getAt(rowIndex).data; 
        alert(rec.toSource()); // this only works in Mozilla Firefox 
        var rec_col_val = grid.getStore().getAt(rowIndex).data.col_name; 
        alert(rec_col_val);