【问题标题】:Flex DataGrid List highlightingFlex DataGrid 列表突出显示
【发布时间】:2011-06-06 17:23:29
【问题描述】:

默认情况下,每当您在 Datagrid 或 List 中翻转/鼠标翻转(不确定差异)时,该项目都会使用组件的 rollOverColor 突出显示。我只是想知道是否有任何方法可以以编程方式做到这一点。我在这个问题上找不到太多帮助。例如,假设我有两个 DataGrid。当我在第一个 DataGrid 中滚动一个项目时,我也想突出显示第二个中的相应索引。基本上,就好像两个单独的光标正在翻转两个单独的 DataGrid。我该怎么做?

  • 伊恩

【问题讨论】:

    标签: apache-flex list datagrid adobe highlight


    【解决方案1】:

    您可以侦听数据网格的itemRollOver 事件,然后使用它的selectedIndexselectedItem 属性在另一个数据网格中选择一行。

    【讨论】:

    • 完全错误,怎么会有人支持这个。这应该得到-1。再次阅读问题,他要求翻转索引而不是选定索引。
    • 哇。定居。自从一年前回答这个问题以来,Flex 中的情况可能发生了很大变化。
    • 然后尝试建设性而不是敌对。你会走得更远。
    【解决方案2】:

    1) 使用此函数创建自定义 DataGrid:

    public function indicesToItemRenderer(rowIndex:int, colIndex:int):IListItemRenderer
        {
            var firstItemIndex:int = verticalScrollPosition - offscreenExtraRowsTop;
            if (rowIndex < firstItemIndex ||
                    rowIndex >= firstItemIndex + listItems.length
                    )
            {
                    return null;
            }
    
            return listItems[rowIndex - firstItemIndex][colIndex];
        }
    

    2) 当你想突出显示一个项目时,调用这个代码:

    youCustomADG.indicesToItemRenderer(idxRow, idxCol).dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OVER);
    

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 2011-04-09
      • 1970-01-01
      • 2011-05-27
      相关资源
      最近更新 更多