Flex 4.5 PropertyGrid Editor - PullRequest
       6

Flex 4.5 PropertyGrid Editor

0 голосов
/ 30 октября 2011

Меня интересует редактор PropertyGrid для Flex. По сути, это будет что-то вроде этого: http://www.cnblogs.com/janyou/archive/2009/07/28/1532919.html, но я могу получить источник!

Если такого компонента не существует, мне нужна помощь в его создании.

В основном мне нужно:

  • Получение списка свойств из указанного объекта (который можно изменить во время выполнения) - но только свойства, которые я отмечаю
  • Этот список свойств будет отображаться в элементе управления List или DataGrid в Flex
  • Вы можете редактировать эти свойства с помощью соответствующего элемента управления (текстовый ввод для строки, числовой шаг для числа, флажок для логического значения, выбор цвета для цвета [указано, какие цвета] и т. Д.)

Спасибо!

1 Ответ

2 голосов
/ 04 ноября 2011

Самый простой способ сделать это - использовать цикл for..in и просматривать все свойства объекта. Затем используйте ObjectUtil.hasMetadata () для каждого свойства и просматривайте все возможные теги метаданных, чтобы упорядочить их в заранее определенные категории.

например.

var gridData:ArrayCollection=new ArrayCollection();
for(var prop:String in obj)
{
    var gridItem:Object = new Object();
    gridItem.property = prop;
    gridItem.value = obj[prop];
    for each(var tag:String in metaDataTags)
    {
        if(ObjectUtil.hasMetadata(obj,prop,tag)
        {
            gridItem.category = tag;
            break;
        }
    }
    gridData.addItem(gridItem);
}

Если вам нужно освоиться со всеми перечислениями и пользовательскими категориями, такими как пример в вашем вопросе, вам придется использовать flash.utils.describeType. Эта функция возвращает XML со всей информацией о свойствах и метаданных. Просто разберите этот XML, и вам будет хорошо.

...