Flex AdvancedDataGrid多个单元格选择突出显示未完全清除

时间:2010-09-23 11:39:35

标签: flex advanceddatagrid

我有两个问题,第二个问题只是一个问题,因为这是解决第一个问题的可能方法!

我正在开发一个使用Spark主题的Flex 4.1应用程序:我无法改变这些; Halo不是一个选择。

它提供了使用单个按键从单个字符填充AdvancedDataGrid的多个选定单元格的工具。因此,用户使用Shift键选择他们的单元格,点击H(例如)并看到所有单元格都用H更新,而不使用itemEditor,而是使用grid keyDown事件。然后他们点击其他地方,选择应该清除。

然而,可见选择未完全清除,并且新着色的单元格不会全部改变其选定的颜色。

下面我可以验证选择是否已清除:mygrid.selectedCells为空。之后的所有行为都指向网格的某种显示故障:不再选择单元格,但它们看起来就像它们一样。

按下所选单元格后的按键:

alt text

鼠标单击后清除选择:

alt text

请注意交替的列:这始终是它发生的方式。

这是使用默认的itemRenderer。它仍然发生在一个非常基本的自定义itemRenderer但我没有进一步向下看这条大道,因为有一个复杂的问题,我无法获得itemRenderer中的标签来识别backgroundAlpha,所以“选定的”背景几乎看不见,看起来很糟糕。我在某处读到这是Spark的问题,如果我切换回默认渲染器,一切都很好。嗯......除了这种选择颜色故障。

以下是自定义渲染器的外观:

alt text

如果我遗漏了一些明显的东西,这就是我尝试的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来修复选择故障,则项呈示器问题只是一个问题。

感激不尽的任何帮助。

1 个答案:

答案 0 :(得分:2)

这似乎是由Flashplayer 10.1引起的。你可以在这里找到详细信息:

ADG selection bug

评论中还发布了一种解决方法。