столбцы таблицы выбора Adobe Flex - PullRequest
2 голосов
/ 05 января 2011

Я пытаюсь создать компонент Flex (Advanced) DataGrid с некоторым механизмом, где пользователь может переключать видимость столбцов.Я грубо реализовал это, прочитав столбцы в меню, вызываемом правой кнопкой мыши, и когда здесь выбрано имя столбца, видимость переключается.Это работает, но это не самое элегантное решение.

В частности, я пытаюсь эмулировать "сетку данных", которую Mozilla Thunderbird использует для отображения электронных писем.Вот изображение:

thunderbird_datagrid.png

В правом верхнем углу есть значок над полосой прокрутки.Если полоса прокрутки отсутствует, значок остается на том же месте.При щелчке на значке открывается меню, в котором отображаются все возможные столбцы, рядом с которыми отображаются видимые столбцы, например:

thunderbird_select_columns.png

Кроме того,полоса прокрутки всегда появляется под этой кнопкой, никогда не «толкая» ее в свой собственный столбец.

Я бы хотел заново создать это во Flex.Я считаю, что часть меню и создание столбца с кнопкой headerRenderer достаточно легко.Но я не могу понять, как (если это вообще возможно) сделать это с полосой прокрутки, потому что полоса прокрутки всегда кажется «своей собственной колонкой».Любые идеи или помощь будут оценены.Спасибо.

  • Ян

1 Ответ

1 голос
/ 14 февраля 2011

На ум приходит одно грязное решение.Создайте компонент на основе Canvas, затем добавьте AdvancedDataGrid, переопределив createChildren.Также переопределите updateDisplayList и добавьте кнопку, подобную кнопке в Thunderbird, в верхнем правом углу холста.Это приведет к появлению кнопки над сеткой данных.Проблема решена?

...