0

我的网格背景很暗,所以我需要将标题中的所有标记都设为白色。除了 AdvancedDataGrid 中的箭头图标之外,我已经能够做到这一点。http://flexvenom.wordpress.com/2007/12/04/howto-setting-a-custom-sortitemrenderer-to-the-advanceddatagrid/有一个解决方案,但它会杀死排序序列号。我怎样才能将标题中的所有内容(背景除外)都设为白色?

我正在运行 3.5 SDK。

4

1 回答 1

0

最后,它比我尝试的要简单得多(让一个项目渲染器绘制整个排序部分),但它仍然非常复杂,因为我必须制作 2 个非常轻量级的渲染器。我本来可以让序列号保持一种颜色,但决定有点花哨,将鼠标悬停在颜色和正常颜色上。

标头渲染器 (ubicAdvancedDataGridHeaderRenderer.mxml) 是:

<?xml version="1.0" encoding="utf-8"?>
<mx:AdvancedDataGridHeaderRenderer xmlns:mx="http://www.adobe.com/2006/mxml"
      color="{ColourGlobals.TEXT_AGAINST_DARK}"
      mouseOver="bMouseOver = true" mouseOut="bMouseOver = false">
    <mx:Script><![CDATA[
        public var bMouseOver:Boolean = false;
    ]]></mx:Script>
</mx:AdvancedDataGridHeaderRenderer>

那么排序渲染器是:

package assets.GridTools {
import mx.controls.advancedDataGridClasses.AdvancedDataGridSortItemRenderer;

public final class ubiAdvancedDataGridSortItemRenderer extends AdvancedDataGridSortItemRenderer {
    override protected function commitProperties():void {
        super.commitProperties();
        const oHeader:ubicAdvancedDataGridHeaderRenderer = owner as ubicAdvancedDataGridHeaderRenderer;
        label.textColor = oHeader.bMouseOver ? ColourGlobals.DARK : ColourGlobals.TEXT_AGAINST_DARK;
    }
}
}

不要问我为什么我做了一个 Flex 和另一个 AS。它有效,所以不会被打破,我不会修复它。

于 2013-06-10T15:34:00.937 回答