我有两个问题,第二个问题只是一个问题,因为这是解决第一个问题的可能方法!
我正在开发一个使用Spark主题的Flex 4.1应用程序:我无法改变这些; Halo不是一个选择。
它提供了使用单个按键从单个字符填充AdvancedDataGrid的多个选定单元格的工具。因此,用户使用Shift键选择他们的单元格,点击H(例如)并看到所有单元格都用H更新,而不使用itemEditor,而是使用grid keyDown事件。然后他们点击其他地方,选择应该清除。
然而,可见选择未完全清除,并且新着色的单元格不会全部改变其选定的颜色。
下面我可以验证选择是否已清除:mygrid.selectedCells为空。之后的所有行为都指向网格的某种显示故障:不再选择单元格,但它们看起来就像它们一样。
按下所选单元格后的按键:
鼠标单击后清除选择:
请注意交替的列:这始终是它发生的方式。
这是使用默认的itemRenderer。它仍然发生在一个非常基本的自定义itemRenderer但我没有进一步向下看这条大道,因为有一个复杂的问题,我无法获得itemRenderer中的标签来识别backgroundAlpha,所以“选定的”背景几乎看不见,看起来很糟糕。我在某处读到这是Spark的问题,如果我切换回默认渲染器,一切都很好。嗯......除了这种选择颜色故障。
以下是自定义渲染器的外观:
如果我遗漏了一些明显的东西,这就是我尝试的itemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<s:MXAdvancedDataGridItemRenderer 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" autoDrawBackground="true"
>
<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
</s:layout>
<s:Label id="lblData" text="{listData.label}" backgroundAlpha="0"/>
</s:MXAdvancedDataGridItemRenderer>
总结一下:我需要的是一种修复多选毛刺的方法;如果我需要自定义itemRenderer来修复选择故障,则项呈示器问题只是一个问题。
感激不尽的任何帮助。