Flex - невозможно отобразить сетку данных внутри окна TitleWindow - PullRequest
0 голосов
/ 02 ноября 2010

Я пытаюсь добавить DataGrid в искровом TitleWindow, и по какой-то причине он не отображается правильно.

Когда я помещаю тот же код в основной mxml, он отображается правильно.Точно такой же код показывается странно в TitleWindow.

<mx:DataGrid x="10" y="51" width="535" height="215" id="musicianGrid">
    <mx:columns>
        <mx:DataGridColumn headerText="First Name" dataField="firstName" width="90"/>
        <mx:DataGridColumn headerText="Last Name" dataField="lastName" width="90"/>
        <mx:DataGridColumn headerText="Band/Group" dataField="bandName" />
        <mx:DataGridColumn headerText="Record Label" dataField="recordLabel" width="135"/>
    </mx:columns>
</mx:DataGrid> 

Внутри окна заголовка это выглядит так - alt text

В основном mxml это выглядит так - alt text

В коде нет изменений ...

Подскажите, пожалуйста, что происходит?

Ответы [ 3 ]

1 голос
/ 02 ноября 2010

Полагаю, у вас есть некие стили, установленные для окна заголовка, которые наследуются вашей DataGrid.Надеюсь, это поможет.

1 голос
/ 05 мая 2011

Также, кажется, есть ошибка во Flex, когда вы открываете ее с помощью FlexGlobals.topLevelApplication:

var dialog:MyDialog = PopUpManager.createPopUp(FlexGlobals.topLevelApplication as DisplayObject, MyDialog, true) as MyDialog;

Это произошло с моим элементом управления DateField, поэтому я изменил его, используя вызов this, с предупреждением, что он центрирован в моем модуле, а не в приложении

0 голосов
/ 02 ноября 2010

Вот пример с вашей DataGrid

MainApp.mxml

<?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">
    <fx:Script>
        <![CDATA[
            import mx.managers.PopUpManager;

            protected function button1_clickHandler(event:MouseEvent):void
            {
                var pop:MyTitle = PopUpManager.createPopUp(this, MyTitle, true) as MyTitle;
                PopUpManager.centerPopUp(pop);     
            }

        ]]>
    </fx:Script>
    <s:Button label="Open" click="button1_clickHandler(event)"/>
</s:Application>

MyTitle.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <mx:DataGrid width="535" height="215" id="musicianGrid">
        <mx:columns>
            <mx:DataGridColumn headerText="First Name" dataField="firstName" width="90"/>
            <mx:DataGridColumn headerText="Last Name" dataField="lastName" width="90"/>
            <mx:DataGridColumn headerText="Band/Group" dataField="bandName" />
            <mx:DataGridColumn headerText="Record Label" dataField="recordLabel" width="135"/>
        </mx:columns>
    </mx:DataGrid> 
</s:TitleWindow>

И результат: alt text

Так что перепроверьте, как вы звоните / показываете ваше TitleWindow ...

...