Как скрыть / показать конкретный пункт контекстного меню в flex? - PullRequest
0 голосов
/ 26 апреля 2010
    var contextMenu:ContextMenu = new ContextMenu();

        contextMenu.hideBuiltInItems();

        var contactList : ContextMenuItem = new ContextMenuItem("Add to Existing List");
        contactList.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doStaticListCommand);

        var newContactList : ContextMenuItem = new ContextMenuItem("Add a New List");
        newContactList.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doNewStaticListCommand); 

        var removeContactList : ContextMenuItem = new ContextMenuItem("Remove contact from List");
        removeContactList.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doRemoveListCommand);

        var deletecontact:ContextMenuItem = new ContextMenuItem("Delete contact");
        deletecontact.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, dodeleteconactCommand);

        var TimeList : ContextMenuItem = new ContextMenuItem("Add Time Spent");
        TimeList.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, doTimeListCommand);

        contextMenu.customItems.push(contactList);      

        contextMenu.customItems.push(newContactList);           

        contextMenu.customItems.push(deletecontact);

         contextMenu.customItems.push(removeContactList);

В контекстном меню «Готово», если я щелкаю, затем показываю элемент контекстного меню, но хочу скрыть определенный элемент контекстного меню в списке, возможно ли его скрыть и показать определенные элементы в контекстном меню? пожалуйста, отошлите меня, я пробовал ключ на основе значения

if(Application.application.contact_key==1)
{
        contextMenu.customItems.push(deletecontact);
    }
        else 
    {

          contextMenu.customItems.push(removeContactList);
    }

        contextMenu.customItems.push(TimeList); 

        return contextMenu;

Внутри itemRenderer

Все кодирование на contactListItemRenderer.as и вызов сетки данных, как

 <mx:DataGridColumn  itemRenderer="com.view.Contact.ContactListItemRenderer"
                         dataField="fullName" headerText="Full Name" />

1 Ответ

0 голосов
/ 26 апреля 2010

Вы можете получить доступ к пользовательским элементам меню по contextMenu.customItem и скрыть / показать любой конкретный элемент. Для встроенных пунктов меню вы можете получить доступ к contextMenu.builtInItems (см. Код ниже):

        contextMenuCustom.builtInItems.zoom = false;
        contextMenuCustom.builtInItems.save = true;
...