2012-03-06 13 views
1

これはかなり簡単な問題であるように感じますが、私たちは一日中それを理解していません。レンダリングとスクロールのFlex DataGridの問題

ItemRendererを使用しないデフォルトのFlex DataGridを使用しています。私たちのグリッドは、ArrayCollectionであるモデルにリンクされています。画面にはモデルを変更するボタンがいくつかあります。 (今日のデータは今日のデータを表示しています。すべてをクリックするとすべてのデータが表示されます)

私がすべてをクリックしてグリッドがいっぱいになると、その情報を見るためにはスクロールダウンしなければなりません。しかし、別のボタンをクリックしてデータプロバイダのデータが変更されると、表示されているデータグリッドが適切にレンダリングされない - 3行をスクロールすると、データグリッドが変更された後、最初の3行3行は、スクロール

どのヘルプもuseuflになります。

おかげで、 パトリック

+0

これが役立つかどうかわかりませんが、私が列をあらかじめ設定していないと、すべてうまくいきます。問題はすべてを表示したくないということです。ちょうどいくつかの列を表示したいのです。 – fufonzo

+0

いくつかのコードを教えてください。どのようにdataProviderを変更していますか?あなたはそれを置き換えていますか?またはその中のアイテムを変更しますか?後者の場合は、itemUpdated()を使用してレンダラーを強制的に更新する必要があります。 [独自のレンダラーを作成していなくても、まだデフォルトのレンダラーを使用しています] – JeffryHouser

答えて

0

以下は、私のために働きました。作成完了時にグリッドの表示リストを無効にしました。

<mx:Script> 
    private function updateGrid(event:Event):void { 
    event.currentTarget.invalidateDisplayList(); 
    } 
</mx:Script> 

<mx:DataGrid creationComplete="updateGrid(event)"> 
    <!-- stuff... --> 
</mx:DataGrid> 
関連する問題