2010-06-16 1 views
4

어떻게 dojox.enhancedGrid의 선택된 행 객체를 가져올 수 있습니까? selectionMode를 사용하고 있습니다 : 'single' 예 : 라디오 버튼.dojox.enhancedGrid 선택된 행 얻기

dijit.byId("gridViewWidget").selection.selectedIndex rowIndex를 반환합니다. 그러나 해당 인덱스의 rowObject를 가져 오는 방법은 무엇입니까? 나는 rowNode()을 얻을 수있다. 그러나 내가 필요한 것은 그 행의 id 열의 값이다.

rowNode()에 의해 반환 된 HTML DOM을 travarse 할 수는 있지만 그 어떤 직설적 인 방법이 있습니까?

현재 dijit.byId("gridViewWidget").store._dataArray[i]을 사용하고 있으며 반환 된 색인을 전달하고 있습니다. 비록 이것이 작동 _dataArray 개인 속성입니다 보인다. 그럼 안전하게 사용해도 되나요?

답변

5

본인 스스로 도장에 익숙하지만 완전히 정확하지 않은 경우 유용합니다. 우선, dojox.grid.enhancedGriddojox.grid.DataGrid 위에 구축, 그래서 여기에 문서 체크 아웃한다 :

  • grid.selection.getSelected()가를 반환 지정된 인덱스

    dojox.grid.DataGrid Documentation

    • grid.getItem(idx) 되돌아 가게 '항목을' 선택한 항목의 배열

    이 중 하나를 사용하여 원하는 항목을 가져옵니다. 당신이 (메모리에서 기능적으로 조정해야 할 수도 있습니다) 같은 것을 할 수있는 선언적 마크 업을 사용

  • +0

    흠 나는 시도했다. 그러나 선택 객체에는'getItem (idx)'또는'getSelected()'라는 메소드가 없다. 내 선택 개체가 dataGrid 및 향상된 눈금 다를 수 있습니다. –

    +0

    흠. 내가 말했듯이, 나는 전문가가 아니다 ... 그리고 문서도 오해의 소지가있다 ... 행운을 빈다! – Dfowj

    0

    :

    <script type="text/javascript"> 
    function formatThisColumn(rowIndex, rowObject) { 
        if (rowObject == null) return; 
        field = rowObject.i.fieldName; 
        return field; 
    } 
    </script> 
    <div dojoType="dojo.data.ItemFileReadStore" id="store" jsid="jsonStore" url="test.json"></div> 
    <table dojoType="dojox.grid.EnhancedGrid" id="gridNode" jsid="grid" store="store"> 
    <thead> 
    <tr> 
        <th get="formatThisColumn">A Computed Column</th> 
    </tr> 
    </thead> 
    </table> 
    

    주를 'formatThisColumn'기능이이 데이터 그리드에서 행 당 적어도 한 번 호출됩니다 (JSON 항목 내에서) 행의 색인과 'i'색인을 사용하여 '현재'항목을 포함하는 객체를 전달합니다. 이렇게하면 DataGrid가 렌더링되는 동안 JSON 응답의 원래 값이 제공됩니다.