ExtJS4グリッドパネルのビューを動的に変更する必要があります。
デフォルトでは、グリッドはテーブルとして表示されますが、私のアプリケーションでは、グリッドをテーブルビューからタイル(またはカード)ビューに切り替える機能が必要です。以下に、それがどのように見えるべきかを表現しようとしました。
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)用に開発されたものであり、ExtJS4で再利用することはできません。
私は次のように単純に作成されたグリッドを使用します。
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
内部ビューコンポーネントのプロパティを更新しようとしましたが、何も機能しないようです。
単一のグリッドパネルのビューを動的に切り替える方法について何か考えがありますか?