我的网格背景很暗,所以我需要将标题中的所有标记都设为白色。除了 AdvancedDataGrid 中的箭头图标之外,我已经能够做到这一点。http://flexvenom.wordpress.com/2007/12/04/howto-setting-a-custom-sortitemrenderer-to-the-advanceddatagrid/有一个解决方案,但它会杀死排序序列号。我怎样才能将标题中的所有内容(背景除外)都设为白色?
我正在运行 3.5 SDK。
我的网格背景很暗,所以我需要将标题中的所有标记都设为白色。除了 AdvancedDataGrid 中的箭头图标之外,我已经能够做到这一点。http://flexvenom.wordpress.com/2007/12/04/howto-setting-a-custom-sortitemrenderer-to-the-advanceddatagrid/有一个解决方案,但它会杀死排序序列号。我怎样才能将标题中的所有内容(背景除外)都设为白色?
我正在运行 3.5 SDK。
最后,它比我尝试的要简单得多(让一个项目渲染器绘制整个排序部分),但它仍然非常复杂,因为我必须制作 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。它有效,所以不会被打破,我不会修复它。