2012-03-08 16 views
0

私はその子としていくつかのグリッドを含むVBoxを持っています。すべてのグリッドを表示するにはスクロールする必要があります。グリッドにはボタンがあります。いずれかのボタンを押すと、VBoxからすべてのグリッドを削除し、そのグリッドの子を入力して、そのグリッドの子を表示します。子供を削除し、VBoxを前のグリッドで埋めるための戻るボタンがあります。戻るボタンを押すと、特定のグリッドに戻り、クリックしてその子を表示します。それがスクロールの最下部にある場合、私が戻ったとき、トップグリッドの代わりにグリッドが表示されます。しかし、常にトップグリッドが表示されます。私はsetFocusメソッドを試しました。しかし、それは動作しません。フレックス内のVboxの特定の子にフォーカスを設定する方法4

私はルート親としてキャンバスを持ち、その子として1つのVboxを持っています。また、Vboxにはすべてのグリッドが含まれています。グリッドのボタンを押すと、上記で説明したGridの子がVboxに配置されます。グリッドの子もいくつかのグリッドです。

助けてください。私はここにかなり立ち往生している。ありがとう:

答えて

0

setFocus()メソッドはコンポーネントをアクティブにし、ビューポートをスクロールしません。あなたはdataGroupがあなたのVGroupすることができ

var spDelta:Point = dataGroup.layout.getScrollPositionDeltaToElement(index); 

if (spDelta) 
{ 
    dataGroup.horizontalScrollPosition += spDelta.x; 
    dataGroup.verticalScrollPosition += spDelta.y; 
} 

を使用することができません。

これが動作していないか、またはあなたが望むものではないない場合、あなたはあなたが表示し、その高さにスクロールバーを移動するために持って帰りたいと思うコンポーネントの高さを取得しようとすることができます

var index:Number = dataGroup.getElementIndex(comp); 
var offset:Number = dataGroup.getElementAt(index).height; 
scroller.viewport.verticalScrollPosition = index * offset; 

dataGroupVGroupで、compはスクロールするデータグリッドです。

+0

こんにちはinquizitive。お返事をありがとうございます。あなたが提示した最初のメソッドを実装できませんでした。 VBoxにはlayoutというプロパティはありません。私がvboxでスクロールを実装することができなかったと述べた2番目の方法。 \t \t \t :<= "100%" のVBox ID = "VBOX" 幅= "100%" 高MX>しかし、それはエラーを示しています。私はこの<スクローラID = "スクロール" S>のようにそれを書きました。エラーメッセージは、 '' mx.containers.VBox 'は' viewport 'というデフォルトのプロパティ' spark.core.IViewport 'に割り当てられません。 "私は私の目的のためにVBoxをVGroupに置き換えることはできません。お返事をありがとうございます :) – Tahlil

関連する問題