Проблема в строке меню Flex ActionScript XMLList
Я работаю во Flex 4 и не могу использовать элемент управления MenuBar, для заполнения его элементов требуется XMLList, но проблема в том, что я хочу применить условия для подэлементов моего меню, позвольте мне объяснить мою проблему на примере:
var menubarXML:XMLList;
menubarXML=
<>
<menuitem label="File">
<menuitem label="New Sheet" data="new_sheet"/>
<menuitem label="Open Existing" data="open_sheet"/>
<menuitem label="Print" data="print"/>
//i want to apply condition here
<menuitem label="Save" data="save_pdf"/>
<menuitem label="Exit" data="exit"/>
</menuitem>
</>
Например, как я могу применить условие, например, если (anyflag==true) отключить подпункт меню сохранения, конечно, вопрос прост, и эту проблему легко решить в Java и PHP.
2 ответа
Имейте атрибут в своем XML с enable = true или false;
<menuitem label="File">
<menuitem label="New Sheet" data="new_sheet" enable = "true"/>
<menuitem label="Open Existing" data="open_sheet" enable = "true"/>
<menuitem label="Print" data="print" enable = "false"/>
</menuitem>
Теперь, анализируя ваш xml, проверяйте, является ли разрешение true или false, основываясь на том, что вы можете контролировать свое меню и его дочерние элементы.
Вы также можете определить свой собственный дескриптор для своего меню, в котором вы переопределяете метод isEnabled, чтобы включить или отключить элементы, использующие тег для примера рендеринга, как
public class MyDescriptor extends DefaultDataDescriptor
{
public function MyDescriptor()
{
super();
}
override public function isEnabled(node:Object):Boolean
{
return 'true'==node.anytag;
}
}
и меню затем создается как
menu = Menu.createMenu(this, dataprovider, false);
menu.dataDescriptor = new MyDescriptor();
Надежды, которые помогают