我正在尝试在flex数据网格中设置标题样式,并且我一直收到警告:
在CSS选择器中键入DataGrid'DataGrid'必须使用命名空间
进行限定
这是什么意思?我经历了一系列教程,但没有一个有效。似乎改变数据网格中的颜色应该相对简单。
以下是代码示例:
<mx:Style>
.headerCustomStyle
{
fontWeight: "bold";
textAlign: "center";
color: #0000FF;
}
DataGrid {
alternating-item-colors: #F4FBFF, #FFFFFF;
}
</mx:Style>
<mx:DataGrid draggableColumns="true" width="100%" id="topTracks" headerStyleName="headerCustomStyle" dataProvider="{_trackData.track}" >
<mx:columns>
<mx:DataGridColumn id="artistName" dataField="artist.name" headerText="Artist" width="250" />
<mx:DataGridColumn id="trackName" dataField="name" headerText="Track" width="250"/>
</mx:columns>
</mx:DataGrid>
答案 0 :(得分:5)
如果您使用的是Flex 4,则需要定义如下命名空间:
@namespace mx "library://ns.adobe.com/flex/halo";
@namespace s "library://ns.adobe.com/flex/spark";
@namespace tlf "library://ns.adobe.com/flashx/textLayout";
/* Halo DataGrid */
mx|DataGrid
{
...
}
/* Spark Button */
s|Button
{
...
}
如果您使用的是新版本的Flex / Flash Builder,他们可能会提到这一点。不确定Flex 3是否需要名称空间。
这是Adobe CSS Namespace Support
上的文档答案 1 :(得分:1)
如果您使用的是Flex 4,通常根本不使用CSS。 你以为我在讲故事?
好吧,看看这个: http://www.adobe.com/content/dotcom/en/devnet/flex/articles/migrating-flex-apps-part2.html
将Flex 4应用程序移植到无CSS代码,您不会遇到任何这些问题。
答案 2 :(得分:0)
我不确定为什么它会告诉您需要命名空间,但在CSS中,DataGrid
是一种类型。
因此,请尝试为DataGrid(mx.controls.DataGrid
)