【问题标题】:Dojo(x) Widgets within HTML table do not resizeHTML 表格中的 Dojo(x) 小部件不调整大小
【发布时间】:2010-10-23 13:03:12
【问题描述】:

我有以下页面使用 Dojo 1.3.1 javascript 工具包

Content Pane
  HTML table   two columns, N rows
  Column 1 (left):   text
  Column 2 (right)   Dojo widget (can be any, but mostly Grids, pullodwn, etc)

问题:
当页面加载时,它会呈现 Ok(小部件的类型和每页的数量是在运行时确定的,所以我无法使用静态 CSS 进行管理)

当我向网格添加行时,它嵌入在表格单元格中

<td> grid </td>

给定的行(嵌入网格的地方)得到 比例更高,并且 网格下方的所有内容都消失了,并且内容窗格上没有滚动条 到达下面的行。

我不知道怎么解决,我设置了 100% 或者 auto height and width on 页面周围的一切。这没有帮助。

我想知道我的设计方法是否错误并且无法解决。 我读过有人告诉不要使用表格进行布局,但是 我在设计时不知道我将要控制的顺序和类型 正在展示。 这还能怎么做?

我认为问题在于,当网格位于表格单元格内时, 并且网格扩展,单元格扩展,但持有内容窗格不知道 这样边框就不会被重绘。

【问题讨论】:

    标签: javascript dojo html-table


    【解决方案1】:

    Dijit 的小部件尽可能像普通节点一样工作。但是许多小部件,尤其是那些让用户定义大小的小部件(就像您可以在网格中使用列宽一样)需要知道具体的尺寸。

    好消息是,对于大多数这些小部件,您可以获取小部件的实例,并调用widget.resize();

    【讨论】:

      【解决方案2】:

      您可以使用 CSS 进行布局——表格可以做什么而 CSS 不能?或者,您可以尝试使用另一个 dojo 网格而不是那个 HTML 表格,这取决于您所追求的。

      【讨论】:

      • 我认为我不能使用 dojo 网格来代替 HTML 表格。我严格使用表格来布局“文本”-> dojo 小部件“文本”-> dojo 小部件......等等我只在运行时知道文本、小部件的类型和小部件的顺序(不是设计时间)。我不知道如何可能使用 CSS 一个接一个地定位未知控件。我也不认为有另一个 Dojo 小部件可以代替 HTML 表格。我想过使用 Dojox.layout.TableGrid 但我看到的所有示例都没有行只有列
      猜你喜欢
      • 1970-01-01
      • 2010-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-26
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多