【发布时间】:2012-10-27 20:23:18
【问题描述】:
ExtJS 4 网格面板需要动态改变视图。
默认情况下,网格显示为表格,但在我的应用程序中,我需要一个功能来将网格从表格视图切换到 tiles(或 cards)视图。下面我试图表示它应该是什么样子。
Normal view: Tiles view:
====================================== ====================================
| Name | Description | | Name | Description |
====================================== ====================================
| Name 1 | First description |^| | ------ ------ ------ |^|
|----------------------------------|X| | | O O | | @ @ | | > < | |X|
| Name 2 | Second description |X| | | \__/ | | \__/ | | \__/ | |X|
|----------------------------------|X| | ------ ------ ------ |X|
| Name 3 | Third description | | | Name 1 Name 2 Name 3 | |
|----------------------------------| | | | |
| | | | | ------ ------ ------ | |
| ... | ... |v| | | o O | | - - | | * * | |v|
====================================== ====================================
我找到了我所需要的几乎完美的实现,命名为Ext.ux.grid.ExplorerView。但是,该扩展是为 ExtJS 版本 2.x (3.x) 开发的,不能重复用于 ExtJS 4。
我使用了一个简单的网格:
Ext.create("Ext.grid.Panel", {
store: ...,
columns: [{
header: "Name",
dataIndex: "name",
}, {
header: "Description",
dataIndex: "description"
}],
tbar: [ ... ],
bbar: [ ... ],
listeners: { ... },
multiSelect: true,
viewConfig: {
stripeRows: true,
markDirty: false,
listeners: { ... }
}
});
我尝试更新内部视图组件的tpl 属性,但似乎没有任何效果。
您知道如何在单个网格面板的视图之间进行动态切换?
【问题讨论】:
标签: javascript extjs extjs4