如何在 extJS 的面板中打开网格?
Posted
技术标签:
【中文标题】如何在 extJS 的面板中打开网格?【英文标题】:How can I open a grid in a panel in extJS? 【发布时间】:2013-12-06 23:08:24 【问题描述】:我想在Ext.Panel
中打开一个网格。这是我尝试过的-
Var grid = Ext.create('Ext.grid.Panel',
store: Ext.data.StoreManager.lookup('StoreId'),
columns: [
header: 'Resort', dataIndex: 'resort' ,
header: 'Arrival', dataIndex: 'arrival' ,
header: 'Guest', dataIndex: 'guest', flex: 1
]
renderTo: Ext.getBody()
);
Var panel = new Ext.Panel(
title: 'Accompanying Guest(s)',
id: 'panel',
items: [grid]
);
我想在一个窗口中打开这个面板-
var win = new Ext.Window(
layout: 'fit',
width: 900,
height: 600,
closeAction: 'hide',
plain: true,
items: [panel]
);
我的代码有什么问题?
【问题讨论】:
【参考方案1】:var win = new Ext.Window(
autoShow: true,
layout: 'fit',
width: 900,
height: 600,
closeAction: 'hide',
plain: true,
items: [
xtype: 'gridpanel',
title: 'Accompanying Guest(s)',
store: Ext.data.StoreManager.lookup('StoreId'),
columns: [
header: 'Resort',
dataIndex: 'resort'
,
header: 'Arrival',
dataIndex: 'arrival'
,
header: 'Guest',
dataIndex: 'guest',
flex: 1
]
]
);
我从哪里开始...
-
如果要将项目放入容器中,请不要使用 renderTo。
您为面板提供了一个带有中心区域的边框布局。
边框布局不是必需的,使用 fit 即可。
您已在网格上声明了尺寸,但它们将由 fit 布局提供。
过度嵌套。网格〜是一个〜面板,没有必要将它嵌套在另一个面板中。将标题放在网格面板本身上。
【讨论】:
这些不能解决我的问题! 更新了 OP,因为您似乎只是挑选了您想要遵循的我的建议。 @EvanTrimboli - 实际上grid
、panel
和 win
在 3 个不同的 JS 中。所以我应该需要按照我提出问题的方式进行操作。
好的,忽略#5,其余的还是一样的。
@EvanTrimboli 嘿,埃文,panel
有问题。我尝试将另一个 ext.panel 添加为 items
of panel
。它没有加载。 items
为空时很好。为什么会这样?以上是关于如何在 extJS 的面板中打开网格?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 extjs 4 中选择网格面板行作为 HTMLELEMENT