2009-08-03 10 views
4

ここにdojox.Gridに関する記事を読みましたが、これはtabcontainerに関するものを含みますが、私の問題を解決することはできません。dijit.DialogにDojox.gridを入れる方法

グリッドに「メイン」マークアップがある場合は処理を行い、ダイアログにグリッドを置くと表示が中止されます。

理由は何ですか? 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

FYI。私は同様のことをしています(ダイアログ内のグリッド)、ダイアログが隠されている間にストアを変更しようとすると(または少なくともグリッド上で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(); 

      })); 
関連する問題