2014-10-10 2 views
0

그리드에서 셀 값을 검색하려면 해당 행에서 셀을 클릭하고 싶습니다.
그리드에서 확인란 선택 모델을 사용하지 않습니다. 체크 박스 모델이 사용되지 않는 그리드에 대한 솔루션을 찾지 못했습니다.
다음과 같은 방법으로 값을 검색하려고하지만 '정의되지 않음'을 수신합니다.선택 모델을 사용하지 않고 그리드에서 셀 값 가져 오기

listeners: {'cellclick': {fn: function(grid, cellIndex, rowIndex, columnIndex, value, e) { 
            alert("grid "+grid+" rowIndex "+rowIndex+" columnIndex "+columnIndex+" e "+e+" cellIndex "+cellIndex); 
            alert("record "+cellIndex.data); 
            record = grid.getStore().getAt(rowIndex); 
            cellvalue = record.get(colname); 
          }//funtion 

위의 코드에서 cellIndex.data은 정의되지 않습니다. 또한 나는 시도했다, cellIndex.value 그리고 여러 가지 다른 가능성.
예를 들어, 행의 다섯 번째 열을 클릭하면 같은 행의 첫 번째 열에서 셀 값을 가져 오려고합니다. 이것을 달성하는 방법?

답변

1

청취자 메소드 서명이 정확하지 않은 것 같습니다.

this, td, cellIndex, record, tr, rowIndex, e, eOpts 

http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.Panel-event-cellclick

가 cellclick 이벤트도 인 record를 전달 올바른 서명이되면, 당신이 느끼지 못할 것을 : 내선 JS 4.2의 경우, cellclick 이벤트의 핸들러는 다음 인수를 cellclick 이벤트가 발생한 행에 바인딩 된 모델 인스턴스입니다. 이 기능을 사용하면 먼저 상점에서 레코드를 개별적으로 조회하지 않고도 모델 인스턴스 내의 모든 필드에서 값을 쉽게 검색 할 수 있습니다. 이미 보유하고 있습니다.

또한 인수의 데이터 형식에주의해야합니다. 예를 들어 cellIndex은 개체가 아닌 숫자입니다.

관련 문제