2

特定の状態が呼び出されたときにそのデータグリッドの列を非表示にできるように、flex 3 で高度なデータグリッドを開発しています。

サンプルを実行しているときに、データグリッドに特定の列があり、最後の列までスクロールすると、表示領域にあるすべての列が非表示になるという問題に直面しました。この後、すべての列が消えます。ここにスナップショットを添付しました。初期段階のデータグリッド

[列を非表示] ボタン をクリックすると、advanceddatagrid は次のようになります。 ここに画像の説明を入力

この問題について私を助けてください。

注: 各列を非表示にして、validateNow() を使用してみました。しかし、それは私たちのアイテムエディターに多くの問題を引き起こしました.

私のサンプルコードスニペット:

protected function button1_clickHandler(event:MouseEvent):void
{

myADG.columns[7].visible = false;
myADG.columns[8].visible = false;
myADG.columns[9].visible = false;
myADG.columns[10].visible = false;

}

私のサンプルコード:

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;
            import mx.core.mx_internal;
            use namespace mx_internal;
            [Bindable]
            private var dpFlat:ArrayCollection = new ArrayCollection([
                {Region:"Southwest", Territory:"Arizona", 
                    Territory_Rep:"Barbara Jennings", Actual:38865, Estimate:40000}, 
                {Region:"Southwest", Territory:"Arizona", 
                    Territory_Rep:"Dana Binn", Actual:29885, Estimate:30000},  
                {Region:"Southwest", Territory:"Central California", 
                    Territory_Rep:"Joe Smith", Actual:29134, Estimate:30000},  
                {Region:"Southwest", Territory:"Nevada", 
                    Territory_Rep:"Bethany Pittman", Actual:52888, Estimate:45000},  
                {Region:"Southwest", Territory:"Northern California", 
                    Territory_Rep:"Lauren Ipsum", Actual:38805, Estimate:40000}, 
                {Region:"Southwest", Territory:"Northern California", 
                    Territory_Rep:"T.R. Smith", Actual:55498, Estimate:40000},  
                {Region:"Southwest", Territory:"Southern California", 
                    Territory_Rep:"Alice Treu", Actual:44985, Estimate:45000}, 
                {Region:"Southwest", Territory:"Southern California", 
                    Territory_Rep:"Jane Grove", Actual:44913, Estimate:45000}
            ]);

            protected function button1_clickHandler(event:MouseEvent):void
            {

                myADG.columns[7].visible = false;
                myADG.columns[8].visible = false;
                myADG.columns[9].visible = false;
                myADG.columns[10].visible = false;

            }

        ]]>
    </mx:Script>

    <mx:Panel title="AdvancedDataGrid Control Example"
              height="75%" width="75%" layout="horizontal"
              paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">

        <mx:AdvancedDataGrid id="myADG" 
                             width="50%" height="60%" 
                             dataProvider="{dpFlat}" horizontalScrollPolicy="on" >        


            <mx:columns>
                <mx:AdvancedDataGridColumn dataField="Region" width="100" headerText="1"/>
                <mx:AdvancedDataGridColumn dataField="Territory" width="100" headerText="2" visible="true"/>
                <mx:AdvancedDataGridColumn dataField="Territory_Rep"
                                           headerText="3" width="100" visible="true"/>
                <mx:AdvancedDataGridColumn dataField="Actual" width="100" headerText="4" visible="true"/>
                <mx:AdvancedDataGridColumn dataField="Estimate" width="100" headerText="5" visible="true"/>
                <mx:AdvancedDataGridColumn dataField="Territory_Rep"
                                           headerText="6" width="100" visible="true"/>
                <mx:AdvancedDataGridColumn dataField="Actual" width="100" headerText="7"/>
                <mx:AdvancedDataGridColumn dataField="Estimate" width="100" headerText="8"/>
                <mx:AdvancedDataGridColumn dataField="Territory_Rep"
                                           headerText="9" width="100"/>
                <mx:AdvancedDataGridColumn dataField="Actual" width="100" headerText="10"/>
                <mx:AdvancedDataGridColumn dataField="Estimate" width="100" headerText="11"/>
            </mx:columns>
        </mx:AdvancedDataGrid>
        <mx:Button label="Hide Columns" click="button1_clickHandler(event)" />

    </mx:Panel>
</mx:Application>
4

1 に答える 1

0

最後の列を非表示にした後、値を 0 にしてみてくださいhorizontalScrollBarPosition。ADG がうまく処理できなかった可能性があります >_<

于 2013-07-08T13:27:49.903 に答える