Spark Grid заменяет MX Grid? - PullRequest
       40

Spark Grid заменяет MX Grid?

0 голосов
/ 03 августа 2011

Я хотел использовать Spark Grid, но в то же время я понял, что для некоторых компонентов, таких как <GridItem>.
, нет эквивалентов Spark. Итак, я смешал компоненты Spark и Halo в программе, но когда я запустиля получил ошибку:

"Ошибка типа: ошибка # 1034: сбой приведения типа: невозможно преобразовать spark.components :: Grid @ 239b40a1 в mx.containers.Grid."

Программа:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<s:Grid>  
    <mx:GridRow id="row1"> 
        <mx:GridItem>        
            <s:Label text="Description:"  paddingTop="5"/> 
        </mx:GridItem>     
        <mx:GridItem>      
            <s:TextArea id="descTI" width="300" height="50"/> 
        </mx:GridItem> 
    </mx:GridRow>    
    <mx:GridRow id="row2">  
        <mx:GridItem>        
            <s:Label text="Name:" paddingTop="5"/>   
        </mx:GridItem>        
        <mx:GridItem>     
            <s:TextInput id="nameTI" width="300"/>  
        </mx:GridItem>   
    </mx:GridRow>   
    <mx:GridRow id="row3">  
        <mx:GridItem>        
            <s:Label text="Target:" paddingTop="5"/> 
        </mx:GridItem>      
        <mx:GridItem> 
            <s:TextInput id="targetTI" width="300"/>     
        </mx:GridItem>   

    </mx:GridRow>  
    <mx:GridRow id="row5">   
        <mx:GridItem>  
            <s:Label text="Operand:" paddingTop="5" />  
        </mx:GridItem>   
        <mx:GridItem> 
            <mx:DataGrid id="attrDG">    
                <mx:columns>          
                    <mx:DataGridColumn dataField="variable" width="150"/>           
                    <mx:DataGridColumn dataField="level"           
                                       width="150"/>       
                </mx:columns>       
            </mx:DataGrid>    
        </mx:GridItem> 

        <mx:GridItem paddingLeft="3" colSpan="2"> 
            <mx:DataGrid id="attrDG0">    
                <mx:columns>          
                    <mx:DataGridColumn dataField="variable" width="150"/>           
                    <mx:DataGridColumn dataField="level"           
                                       width="150"/>       
                </mx:columns>       
            </mx:DataGrid>    
        </mx:GridItem>  
    </mx:GridRow> 
</s:Grid>
</s:Application>

1 Ответ

2 голосов
/ 19 августа 2011

spark.components.Grid не предназначен для замены mx.containers.Grid .Скорее, его непосредственное использование является компонентом spark.components.DataGrid , который предназначен для отображения элементов в поставщике данных, который реализует IList.Подробнее см. Справочную документацию по языку в Spark Grid .

Вам следует продолжать использовать mx:Grid.Вы даже можете найти примеры его использования в официальном справочнике Using Flex 4.5 : Контейнер макетов MX Grid .

Однако я предложу наблюдениеВозможно, вы захотите взглянуть на контейнер s: Form .То, как вы выкладываете первые три строки, мне кажется более подходящим для варианта использования, для которого была разработана форма.

Наконец, s:DataGrid - это , предназначенное дляmx:DataGrid.Поэтому вы должны убедиться, что используете это.

...