2009-08-19 3 views
2

나는 extjs gridpanel 설정을 가지고 있으며 사용자가 그리드의 텍스트 나 아이콘을 클릭하여 작업을 수행 할 수 있기를 원합니다. 예를 들어 사용자가 열의 단어를 클릭 (또는 두 번 클릭)하면 표를 필터링하거나 사용자가 아이콘을 클릭하면 팝업을 표시합니다. 클릭 한 행과 해당 행의 열 이름을 쉽게 얻을 수 있지만 어떤 열을 클릭했는지는 알 수 없습니다.ExtJS 표에서 rowselection에서 열 이름을 얻으려면 어떻게해야합니까?

또는 전체 격자에 onClick을 추가하여 행/열에서 개별 텍스트를 가져올 수 있지만 값이 속한 행 인덱스 또는 열을 모르겠습니다. 열 이름을 알려주는 CSS 클래스를 추가 할 수 있지만 해킹처럼 보입니다.

이렇게 할 수있는 기본 제공 장치가 있습니까?

+0

다음 게시물을 주어진 컬럼의 dataIndex을 줄 수있는이 이벤트 : http://stackoverflow.com/questions/8083004/getcellrow-col-을 in-gwt-htmltable/8571224 # 8571224 –

답변

7

그리드의 "cellclick" event이 좋습니다. 이 이벤트에서 수신 함수는 전달되는 :

  • (Grid this, Number rowIndex, Number columnIndex, Ext.EventObject e)

당신이 gridCell의 텍스트를 얻고 싶다면, DOM 요소를 반환합니다 yourGrid.getView().getCell(rowIndex, colIndex)를 호출.

열 머리글을 얻으려면 yourGrid.getColumnModel()으로 전화하십시오. getColumnHeader(colIndex)

특정 열에 대해 다른 것을 찾으려면 yourGrid.getColumnModel()으로 전화하십시오. getColumnAt(colIndex)

0

체크 박스 렌더링 및 이벤트 처리에 대한 예는 edit-grid.html 예제를 참조하십시오.

1

당신이 열 현명한 이벤트에 관심이 있다면 rowselection을 살펴 보는 것이 잘못된 이벤트라고 생각합니다. 여호수아가 제안한대로 cellclick 이벤트는 조사해야 할 이벤트입니다.

도움이되는 몇 가지 빛을 던질 수

var fieldName = grid.getColumnModel().getDataIndex(columnIndex); 
관련 문제