Dojo (x) Виджеты в таблице HTML не изменяют размер

У меня есть следующая страница с использованием набора инструментов 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% или автоматическую высоту и ширину для всего вокруг страницы. Это не помогает.

Мне интересно, ошибочен ли мой подход к дизайну и неразрешим. Я читал о людях, которые говорили не использовать таблицы для макета, но я не знаю во время разработки порядок и тип элементов управления, которые я буду отображать. Как еще это можно сделать?

Я думаю, проблема в том, что когда сетка находится внутри ячейки таблицы, и сетка расширяется, ячейка расширяется, но панель содержимого удержания не знает об этом, поэтому границы не перерисовываются.


person Community    schedule 04.05.2009    source источник


Ответы (2)


Вы можете использовать CSS для макета - что могут делать таблицы, а что нет в CSS? Или вы можете попробовать использовать другую сетку додзё вместо этой HTML-таблицы, в зависимости от того, что вам нужно.

person Alex Martelli    schedule 04.05.2009
comment
Я не думаю, что могу использовать сетку додзё вместо таблицы HTML. Я использую таблицу строго для размещения текста - ›текст виджета dojo -› виджет dojo ... и так далее. Я знаю текст, тип виджета и порядок виджетов только во время выполнения (а не во время разработки). Я не мог понять, как можно использовать CSS для позиционирования неизвестных элементов управления один за другим. Я также не думаю, что есть еще один виджет Dojo, который мог бы быть вместо таблицы HTML. Я думал об использовании Dojox.layout.TableGrid, но во всех примерах, которые я вижу с ним, нет строк, только столбцы - person ; 04.05.2009

Виджеты Dijit в максимально возможной степени работают как обычные узлы. Но многие виджеты, особенно те, которые позволяют пользователю определять, какого размера вещи (как вы можете с шириной столбцов в сетке), должны знать конкретные размеры.

Хорошая новость заключается в том, что с помощью большинства этих виджетов вы можете получить экземпляр виджета и вызвать widget.resize();

person pottedmeat    schedule 29.05.2009