似乎有各种黑客可以改变数据网格行的背景颜色,但所有这些似乎都发生在渲染时。
See: 在 Adobe Flex 中设置数据网格行的背景颜色 https://stackoverflow.com/questions/748213/setting-background-color-for-datagrid-row-in-adobe-flex
我有一个数据网格,我需要根据绑定 ArrayCollection 的更改经常将行颜色更改为红色,然后恢复正常。所以我正在寻找一种动态更改行颜色的方法。
有人可以帮忙吗?显然,由于更改经常发生,如果更改行的背景颜色不是一个昂贵的过程,那就太好了,但乞丐不能挑剔。
您必须编写一个自定义组件,我将包含我们项目中经过清理的代码。在 ActionScript 中的某个位置,您需要为每一列编写以下内容:
column.itemRenderer = new ClassFactory(CellRenderer);
这是自定义类:
public class CellRenderer extends Label {
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
var g:Graphics = graphics;
g.clear();
for each(var object:Object in arrayCollection) {
if (object.rowIndex == 0) { //or whatever your conditions are
g.beginFill(0xFFFFC0);
g.drawRect(0, 0, unscaledWidth, unscaledHeight);
g.endFill();
}
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)