0

我正在使用 flex 4 构建一个应用程序。

用于<mx:DataGrid>显示表格。

我想向<s:GlowFilter>DataGridColumn 添加一个。

我该怎么做?

谢谢!

4

1 回答 1

1

您需要使用内置的 GlowFilter 创建一个项目渲染器。这是一个示例:

我的应用程序:

<?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:Declarations>
        <s:ArrayCollection id="dataProvider">
            <fx:Object name="Red" color="0xFF0000" />
            <fx:Object name="Green" color="0x00FF00" />
            <fx:Object name="Blue" color="0x0000FF" />
        </s:ArrayCollection>
    </fx:Declarations>

    <mx:DataGrid  itemRenderer="GlowingRenderer" dataProvider="{dataProvider}" />


</s:Application>

...这里是 GlowingRenderer.mxml:

<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
                          xmlns:s="library://ns.adobe.com/flex/spark" 
                          xmlns:mx="library://ns.adobe.com/flex/mx" 
                          focusEnabled="true" creationComplete="trace(this.data)">

    <fx:Script>
        <![CDATA[
            import spark.filters.GlowFilter;
        ]]>
    </fx:Script>

    <s:Label id="lblData" top="0" left="0" right="0" bottom="0" text="{dataGridListData.label}" filters="{[new GlowFilter(this.data.color)]}" />
</s:MXDataGridItemRenderer>

看起来不太漂亮,但可以完成工作:)

西蒙

于 2010-06-28T14:33:06.110 回答