Dialog 如何在dijit.对话框中放置Dojox.grid
我已经阅读了这里关于dojox.Grid的帖子,包括关于tabcontainer的帖子,但它似乎并没有解决我的问题 我有一个以编程方式添加的网格,如果网格位于“main”标记中,它将起作用,但如果我将网格放入对话框中,它将停止显示 你知道为什么吗?使用Dojo1.3.1Dialog 如何在dijit.对话框中放置Dojox.grid,dialog,grid,dojo,Dialog,Grid,Dojo,我已经阅读了这里关于dojox.Grid的帖子,包括关于tabcontainer的帖子,但它似乎并没有解决我的问题 我有一个以编程方式添加的网格,如果网格位于“main”标记中,它将起作用,但如果我将网格放入对话框中,它将停止显示 你知道为什么吗?使用Dojo1.3.1 dijit.byId("myDialog").show(); var gridStore = new dojo.data.ItemFileReadStore({ data : { identifier
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因此,我所遇到的问题是,一旦我这样做了,就没有在网格容器div(gridNode)上添加显式样式:
<div dojoType="dijit.layout.ContentPane" id="gridNode" style="width:400px;height:300px"></div>
它开始工作。供参考。我正在做一件类似的事情(对话框中的网格),并发现如果我试图在对话框隐藏时修改存储(或至少调用网格上的setStore),就会发生错误。只是一些需要注意的东西。我是通过编程方式创建的,所以对我来说不起作用,我必须连接到对话框的_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();
}));