2009-08-03 18 views
4

我已经通过有关dojox.Grid职位这里,其中包括一个关于TabContainer的阅读,但它似乎并没有解决我的问题。如何把Dojox.grid在dijit.Dialog

我有我编程方式添加一个网格,如果网格是在“主”的标记,但停止显示,如果我把电网中一个对话框,工作的一种享受。

任何想法为什么?使用dojo 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(); 

      }));