dialog - 如何以编程方式创建带有 dojox.grid.DataGrid 的 dijit.Dialog

标签 dialog dojo dojox.grid.datagrid

我有以下问题:

以编程方式创建一个 dijit.Dialog 和一个 dojox.grid.DataGrid(链接到一个全局变量数据存储 (dojo.store.Memory)),当 Dialog 大小保持最小时,不显示 Dialog 的内容。

DataGrids Store 已正确填充,Firebug 在对话框中显示网格。

data = new dojo.data.ObjectStore(
  { objectStore: new dojo.store.Memory({data:[]}) });

data.put({id:0,name:'Franklin'});

showDialog = function(){
  var dlg = dijit.byId('myDlg');
  if(dlg){
    dlg.show();
  }
  else{
    var cp = new dijit.layout.ContentPane({style:"width:500;height:500;"});
    var grid = new dojox.grid.DataGrid({
      store : data,
      structure : [
        {field:'id',name:'ID',width:'50px'},
        {field:'name',name:'Name',width:'400px'}]
    },cp);

    dlg = new dijit.Dialog({
      id:'myDlg',
      title:'Names',
      content:cp.domNode
    });

    grid.startup();
    dlg.show();
  }
);

也许我以错误的顺序添加了一些东西?

另外我不知道我的组合/附加道场小部件的方式
使用 domNode 属性是正确的做事方式。

我不知道我使用的 ContentPane 是否需要放置
对话框内的网格。到目前为止,这两种变体都不起作用。

最后,我不确定 Dialog 是否以及在哪里需要静态测量
尺寸正确。根据我的经验,对话框本身不需要静态
宽度或高度,但到目前为止我还没有添加动态组件的经验
就像 Grid - 它可能会在启动时改变其大小 - 到一个对话框。

最佳答案

您不需要先显示对话框,这超出了进行对话框的目的。您需要创建网格,将 domNode 附加到对话框,然后显示对话框。这适用于我的所有代码。
最好的事物

关于dialog - 如何以编程方式创建带有 dojox.grid.DataGrid 的 dijit.Dialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6017594/

相关文章:

javascript - dojo 中的确认对话框

ajax - Struts 2 & Dojo 文件太重,影响网站性能.. 有什么补救措施吗?

dojox.grid.datagrid - DOJO 网格中行的行跨度(不适用于标题)...

Xpages:您可以在单独的 XPage 中构建一个带有 Rest 服务的 Dojo 数据网格吗?

Android:设置对话框的尺寸( "fill_parent"是什么意思?)

c# - 使用 PRISM 与 WPF 应用程序中的区域对话

android - 如何自定义对话框的标题部分

javascript - 如何使用 dojo 提交使用 spring 表单标签创建的表单

android - 是/否对话框和生命周期

javascript - 道场数据网格 : Multiple values in a single field