2011-01-04 15 views
4

アコーディオンのレイアウトは、1つのパネルしか表示されないが、アコーディオンパネルでは2つのパネルが表示されるようにしたいと思っています。Extjsアコーディオンのレイアウト

+7

16の質問とゼロを受け入れましたか? – Upperstage

+5

私は**上段**に同意します。私たちはあなたの質問に答えるのに時間を費やすのはなぜですか?そうすることで私たちに報いるつもりはないようです。 – Chau

+1

Ok、私のためにそれを答えることを考慮してください;) –

答えて

0

既存のAccordionLayoutではできないと確信しています。

独自のレイアウトクラスを作成してそれを行うことができます。それほど難しいことではないが、AccordionLayout.jsはほんの数ページしかなく、そのほとんどはコメントである。

+0

私はちょうど既存のクラスでは不可能ではなく、2つのパネルの動作は未定義です。私は空間をどのように分けるのでしょうか? – NT3RP

4

あなたが探しているものを達成するために、既存のAccordionレイアウトクラスを拡張することはできません。ソースコードを読むと、FitLayoutを拡張してアコーディオンレイアウトが作成されていることに気づくでしょう。今、私はFitLayoutのプロパティは、マニュアルに記載されている引用:

これは は が自動的 レイアウトのコンテナいっぱいに拡張することを単一の項目が含まれているレイアウトの基本クラスです。

ドキュメント、さらにこう述べています。

コンテナは複数のパネルを持っている場合は、 最初のものだけが表示されます。

ここで質問者は、2つのパネルを同時に表示することを求めています。これは、FitLayoutから拡張されたレイアウトでは不可能です。

その他の問題:

質問者が実装することを計画しているコンポーネントを持ついくつかの設計上の問題があります。

  1. 現在表示されているパネルにはどの程度のスペースが必要ですか?
  2. アコーディオンの動作はどのように機能しますか?ユーザーが3番目のパネルにアクセスしようとすると、現在開いているパネルはどのように動作しますか。

考えられる解決策:今

、一つの可能​​な解決策は、VBOXレイアウトでパネルを拡張し、その中にすべてのパネルを持つことです。

0

アコーディオンレイアウトはそのために設計されていません。要件に合わせてレイアウトに合わせて選択するのは、四角形に球を合わせようとするようなものです。

しかし、私の頭に銃を置くと、私はすぐに次のオプションについて考えることができます。

  1. (ベースはそのの設計ではありませんので破棄。)(は別に実装から、あなたはアブデルOlakaraは、あなたの自己、問題を言及した答えなければならない)、独自の魔法アコーディオンを書く
  2. 既存のアコーディオンクラスを拡張
  3. 2つ以上のアコーディオンを積み重ねることで、目的の動作を模倣します(偉大なアイデアではありませんが、銃は私の頭の上にあります)。
2

Ext js 4.1では、アコーディオンレイアウトのプロパティmultiを使用することができます。

チェックここdocs ..

+0

文書は簡潔にする。 '' multi:true''では十分ではありませんが、それを動作させる方法をまだ推測できません。 –

関連する問題