Сетка данных 3 не будет растягиваться - PullRequest
0 голосов
/ 22 июля 2011

Я написал очень простой код, чтобы понять, как работают columnstretch и calllater, но я не смог заставить работать функцию resizeGrid.Что здесь происходит?

<mx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;

        [Bindable]
        public var denemelist:ArrayCollection;


        private function calculateHeight(l:int):Number{
            return deneme.measureHeightOfItems(0, l) + deneme.headerHeight;             
        }

        public function resizeGrid():void{
        if(denemelist && deneme)
            deneme.height = calculateHeight(denemelist.length);
        }

        public function preinit():void {
            denemelist = new ArrayCollection([
            {former:"sdfad", latter:"sdfgs"},
            {former:"sdfgsd", latter:"sdfgsfd"}     
            ]);  
        }

        public function test():void {
        denemelist.addItem({former:"sdfgsdf", latter:"sdfgdsgf"});
        }
    ]]>
</mx:Script>

<mx:VBox width="100%" height="500">
<mx:DataGrid  
    width="100%"
    resizeEffect="Resize"
    horizontalScrollPolicy="off" verticalScrollPolicy="off"
    id="deneme"
    variableRowHeight="true" 
    editable="false"
    dataProvider="{denemelist}"
    styleName="phrDataGrid"
    columnStretch="callLater(resizeGrid)">
        <mx:columns>
            <mx:DataGridColumn dataField="former" headerText="former"/>
            <mx:DataGridColumn dataField="latter" headerText="latter"/>
        </mx:columns>
</mx:DataGrid>

<mx:Button label="deneme1" click="test()" />
</mx:VBox>

1 Ответ

0 голосов
/ 22 июля 2011

Я не думаю, что сетка данных была обновлена ​​в то время, когда вы вызываете функцию.Но вы можете попытаться оставить высоту dg, а затем просто установить rowCount на количество элементов в списке.

HTH;Эй

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...