extjs 4.0.7から4.1.1に切り替えようとすると、いくつかの問題が発生します。
最初の問題は次のとおりです。
列レイアウト内に2つのツリーパネルがあります。隣同士。私のアプリは左側のパネルに多数のノードをロードし、オプションでそれらの一部を他のパネルに移動できます。ただし、すべてのノードを含むパネルにスクロールバーが表示されていないため、ノードの約3分の1が突然表示されません。4.0.7でも同様の問題が発生し、別のノードを移動するまでパネルがいっぱいの場合、最後のノードが移動したことを確認できませんでした。私はそれを次の行で修正しました:
treePanel1.invalidateScroller();
treePanel2.invalidateScroller();
これらの行は4.1.1で非推奨になり、問題はさらに悪化したようです。誰かが同様の問題を抱えていましたか?スクロールバーを元に戻すにはどうすればよいですか?
私のUIに関連する2番目の主要な問題:
ツリーパネルと同じようにレイアウトされた2つのグリッドが他の場所に隣接しています。2つのグリッド間にドラッグアンドドロップを設定しました。ここでも、すべてのノードは左側のグリッドから始まり、一部を右側のグリッドにドラッグするオプションがあります。ただし、右側のグリッドはフルサイズで表示されなくなり、デフォルトでスライバーになります。したがって、ノードをその小さなスライバーにドラッグすることがわかっている場合は、DD機能はまだ存在します。その後、スライバーは単一ノードなどを保持するのに十分に拡張します。では、どうすればデフォルトのフルサイズに戻すことができますか。extjs 4.1.1がこれらの問題を引き起こしたのはなぜですか?私はどんなコードでも指を太くする必要がありますが、絶対に必要な場合はできます。しかし、私の説明に基づいてこの種の問題に精通している人がいれば、それは素晴らしいことです。
編集:また、グリッドの右端の列にコンボボックスがあります。クリックしてコンボボックスの1つを変更すると、ミニスクロールバーがポップアップし、ドロップダウンボタンがブロックされます。彼らはこのバージョンに何をしましたか?
必要なときにスクロールバーがパネルに表示されないという最初の問題があるレイアウト定義は次のとおりです。
{
xtype: 'panel',
title: 'Select fields',
defaults: {
border: false,
height: '100%'
},
layout: 'column',
items: [
{
xtype: 'treepanel',
itemID: 'choicesTreePanel',
title: 'Choose from below fields',
height: '100%',
multiSelect: true,
store: choicesTree,
rootVisible: false,
columnWidth: .44},
{
xtype: 'panel',
columnWidth: .06,
layout: {
type: 'vbox',
align: 'center'
},
defaults: {
margins: "15 0 0 0"
},
items: [
{
xtype: 'button',
text: '==>'},
{
xtype: 'button',
text: '<=='},
{
xtype: 'button',
text: 'RST'}
]},
{
xtype: 'treepanel',
itemId: 'chosenTreePanel',
title: 'Fields',
border: true,
store: chosenFields,
rootVisible: false,
columnWidth: .44,
viewConfig: {
plugins: {
ptype: 'treeviewdragdrop,
dragText:'
dragginggggg '
},
ddGroup: '
fieldsDD '
}
},
{xtype:'
panel ',
columnWidth:.06,
layout:{
type:'
vbox ',
align:'
center '
},
items: [
{
xtype: '
button ',
text: '
UP '},
{
xtype: '
button ',
text: '
DOWN '}
]
}
]
}
編集:左側のパネルで、高さを設定値にし、自動スクロールをtrueにすると、スクロールバーが表示されます。高さを「100%」に設定して自動スクロールをtrueに設定すると、スクロールバーが表示されません。したがって、解決策は、スクロールバーを維持しながら、パネルを親の高さに合わせる方法を見つけることかもしれません。