我正在尝试在Spark TitleWindow中添加一个DataGrid,并且由于某种原因它没有正确显示。
当我在主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>
在标题窗口中,它看起来像这样 -
在主要的mxml中,它看起来像这样 -
代码没有变化......
你能告诉我发生了什么事吗?
答案 0 :(得分:1)
我的猜测是你为你的标题窗口设置了一些由DataGrid继承的样式。希望有所帮助。
答案 1 :(得分:1)
使用FlexGlobals.topLevelApplication打开它时,Flex中似乎还有一个错误:
var dialog:MyDialog = PopUpManager.createPopUp(FlexGlobals.topLevelApplication as DisplayObject, MyDialog, true) as MyDialog;
这发生在我的DateField控件上,所以我使用对“this”的调用更改了它,但需要注意的是它在我的模块中居中而不是应用程序
答案 2 :(得分:0)
以下是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>
结果是:
重新检查你如何调用/显示你的TitleWindow ......