Я хочу включить ExtJS GridPanel
в более крупный макет, который, в свою очередь, должен отображаться внутри определенного div в некотором ранее существующем HTML, который я не контролирую.
Из моих экспериментов выясняется, что GridPanel
корректно изменяет свой размер, только если он находится в пределах Viewport
. Например, с этим кодом GridPanel
автоматически изменяет размер:
new Ext.Viewport(
{
layout: 'anchor',
items: [
{
xtype: 'panel',
title: 'foo',
layout: 'fit', items: [
{
xtype: 'grid',
// define the grid here...
но если я заменю первые три строки на строки ниже, это не так:
new Ext.Panel(
{
layout: 'anchor',
renderTo: 'RenderUntoThisDiv',
Проблема в том, что Viewport
всегда рендерится непосредственно в тело HTML-документа, и мне нужно рендерить в определенном div.
Если есть способ заставить GridPanel
правильно изменить свой размер, несмотря на то, что он не содержится в ViewPort
, это было бы идеально. Если нет, если бы я мог получить Viewport
для визуализации элементов в div, я бы с этим согласился. Все мои объекты ExtJS могут содержаться в одном и том же div.
Кто-нибудь знает, как заставить GridPanel правильно изменять свой размер, но при этом оставаться внутри некоторого не-ExtJS-сгенерированного HTML?