Подсветка списка Flex DataGrid - PullRequest
1 голос
/ 10 января 2011

По умолчанию, когда вы катите элемент RollOver / mouseOver (не уверен в разнице) элемента в Datagrid или List, этот элемент выделяется с помощью rollOverColor компонента. Мне просто интересно, есть ли способ сделать это программно. Я не смог найти много помощи по этому вопросу. Например, предположим, у меня есть две DataGrids. Когда я переворачиваю элемент в первой DataGrid, я хочу выделить соответствующий индекс и во втором. По сути, как если бы два отдельных курсора переворачивали две отдельные DataGrids. Как я могу это сделать?

  • Ian

Ответы [ 2 ]

1 голос
/ 10 января 2011

Вы можете прослушать событие itemRollOver сетки данных, а затем выбрать строку в другой сетке данных, используя его свойства selectedIndex или selectedItem.

0 голосов
/ 11 января 2011

1) Создайте пользовательскую таблицу данных с помощью этой функции:

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);
...