首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dijit.Dialog中放置Dojox.grid

如何在dijit.Dialog中放置Dojox.grid
EN

Stack Overflow用户
提问于 2009-08-03 15:39:27
回答 3查看 6K关注 0票数 4

我已经阅读了这里关于dojox.Grid的帖子,包括关于to容器的帖子,但它似乎并没有解决我的问题。

我有一个以编程方式添加的网格,如果网格在"main“标记中,它就会起作用,但如果我将网格放在对话框中,它就不会显示。

有什么想法可以解释原因吗?使用dojo 1.3.1。

代码语言:javascript
复制
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();

标记为:

代码语言:javascript
复制
 <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>

谢谢你的帮助,鲁普里克特

EN

回答 3

Stack Overflow用户

发布于 2009-08-03 16:57:50

所以,我看到的问题是,一旦我这样做了,没有在网格容器div (gridNode)上放一个显式的样式:

代码语言:javascript
复制
<div dojoType="dijit.layout.ContentPane" id="gridNode" style="width:400px;height:300px"></div>

它开始工作了。

票数 3
EN

Stack Overflow用户

发布于 2009-08-25 19:38:44

仅供参考。我正在做类似的事情(对话框中的网格),我发现如果我试图在对话框隐藏的时候修改存储(或者至少调用网格上的setStore ),就会发生错误。只是一些需要注意的东西。

票数 1
EN

Stack Overflow用户

发布于 2015-05-29 03:02:08

我是通过编程创建的,所以对我不起作用,我必须连接到对话框的_getFocusItems方法,只有对话框的动画结束时才会发生这种情况。

代码语言:javascript
复制
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();

            }));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1223037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档