2009-08-03 7 views
4

여기 dojox.Grid에 대한 게시물을 읽었습니다. 여기에는 tabcontainer에 대한 게시물도 포함되어 있지만 문제가 해결되지 않는 것 같습니다.dijit.Dialog에 Dojox.grid를 두는 법

격자가 "주"마크 업에있는 경우 처리 기능을 프로그래밍 방식으로 추가하지만 그리드를 대화 상자에 놓으면 표시가 중단됩니다.

이유에 대한 아이디어가 있으십니까? 도장 1.3.1 사용.

dijit.byId("myDialog").show(); 
var gridStore = new dojo.data.ItemFileReadStore({ 
     data : { 
     identifier : "id", 
     items  : [ 
         {"id" : 1, "label" : "foo"}, 
         {"id" : 2, "label" : "bar"}, 
         {"id" : 3, "label" : "baz"} 
     ] 
     } 
    }); 

    /* A simple layout that specifies column headers and 
    * mappings to fields in the store */ 
    var gridLayout = [ 
      {name : "ID", field : "id", width : "50%"}, 
      {name : "Label", field : "label", width : "50%"} 
    ]; 

    /* Programmatically construct a data grid */ 
    var grid = new dojox.grid.DataGrid({ 
         store  : gridStore, 
         structure : gridLayout 
       }, "gridNode"); 

    /* Tell the grid to lay itself out since 
    * it was programmatically constructed */ 
    grid.startup(); 

마크 업입니다 : 어떤 도움

<div dojoType="dijit.Dialog" id="myDialog" title="Multiple Addresses" style="width:400px;height:300px" > 
    <div dojoType="dijit.layout.ContentPane" id="gridNode" style="positon:relative;width:100%;height:100%"></div> 

감사합니다, Ruprict

답변

3

그래서,에 명시 적 스타일을 참을 수 없어에서 줄기 seeem을 가졌다 문제 그리드 컨테이너 div (gridNode) 일단 이것을했다 :

<div dojoType="dijit.layout.ContentPane" id="gridNode" style="width:400px;height:300px"></div> 

시작되었습니다.

1

참고하시기 바랍니다. 나는 대화 상자에서 비슷한 것을하고 있는데, 대화 상자가 숨겨져있는 동안 저장소를 수정하려고하거나 (적어도 그리드에서 setStore를 호출하면) 오류가 발생한다는 것을 발견했다. 조심해야 할 것이 있습니다.

0

나는 모든 것을 프로그래밍 방식으로 만들었으므로 나를 위해 작동하지 않았다. 대화 상자의 _getFocusItems 메서드에 연결해야했다. 대화 상자의 애니메이션 만 끝났다.

lov.connect(lov,"_getFocusItems",dojo.hitch(this,function(){ 
       var dijitTitle = new dijit.TitlePane({ 
        title: "Resultados", 
        toggleable:false, 
        open:true, 
        style:"min-width:98%;display:inline-block;width:98%;height:"+dialogStyle.h-100+"px;", 
        baseClass:"dijitTitlePane qtResultsTitle" 
       },div); 
       dijitTitle.startup(); 

       var fisaSubGrid = new dojox.grid.EnhancedGrid({ 
        store:store, 
        structure: layoutRate, 
        autoHeight:"true", 
        autoWidth:true, 
        initialWidth:dialogStyle.w-50+"px", 
        plugins: { 
         pagination: { 
          description: false, 
          sizeSwitch: false, 
          pageStepper: true, 
          gotoButton: false, 
          maxPageStep: 5, 
          position: "bottom", 
          defaultPage: 2, 
          defaultPageSize: 10 
         } 
        } 
       }); 
       dijitTitle.addChild(fisaSubGrid); 
       fisaSubGrid.startup(); 

      }));