1

我正在尝试在 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>
4

3 回答 3

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 是否需要命名空间。

这是 Adob​​e 关于CSS 命名空间支持的文档

于 2010-02-04T03:06:57.977 回答
1

如果您使用的是 Flex 4,通常根本不使用 CSS。你以为我在讲故事?

好吧,请阅读: http: //www.adobe.com/content/dotcom/en/devnet/flex/articles/migrating-flex-apps-part2.html

将您的 Flex 4 应用程序移植到无 CSS 代码,您将不会遇到任何这些问题。

于 2012-03-13T02:05:51.303 回答
0

我不确定为什么它告诉你你需要一个命名空间,但在你的 CSS 中,DataGrid它是一种类型。

mx.controls.DataGrid因此,请尝试为 DataGrid ( )提供完全限定的命名空间

于 2010-02-04T03:01:46.110 回答