Реализация динамического ContextMenu для множественного выбора Datatable для Primefaces

У меня есть постраничная база данных PrimeFaces Datatable с контекстным меню, и я хочу реализовать множественный выбор, где пункты меню в контекстном меню будут зависеть от количества выбранных элементов, поскольку некоторые действия будут доступны только при выборе только одного элемента и другие будут действительны при выборе одного или нескольких.

Моей первой идеей было использоватьоказываемый» опция отдельных пунктов меню, которая устанавливается в бине контроллера. Такого рода работы, так как действительно отображаются правильные пункты меню. Проблема заключается в том, что использование представленных функциональных возможностей пунктов меню привело к тому, что выбор потерян для данных, что противоречит цели упражнения.

    

        
        
         

        
            
                
            
            
                
                
                
            
        
        
            
                
            
            
        

    [snip]

    

    
        

        
    

После поиска решений на этом и других форумах, нахождения некоторых подсказок и самостоятельного поиска нескольких альтернатив я предпринял несколько других попыток, в том числе:

1) использование двух полных контекстных меню: одно для выбора одного элемента, а другое - для выбора множества элементов и использование параметра рендеринга в самих контекстных меню, а не в их элементах.

В этом случае события rowSelect и rowUnselect обновляют оба

    
     

И контекстные меню выглядят примерно так

    
        

        
    

    
        
    

Но это не сработало вообще. Меню не было показано.

2) Поместить два контекстных меню в выходную панель и обновить панель. Это имело тот же результат, что и моя первая попытка. то есть пункты меню отображаются правильно, но теряют выделение

        
            
                [menu items]
            

            
        [menu items]
            
        

3) Определение модели contextMenu с использованием menuModel, предоставляемого контроллером, который сам имеет две модели, доступные для двух случаев, и предоставляет правильную модель в зависимости от количества выбранных элементов. Также в панели вывода

        
            
        >

Это тоже не сработало. Элементы меню отображаются правильно, но выбор нескольких элементов теряется, как и раньше.

Я исчерпал варианты, которые я знаю.

Кто-нибудь успешно реализовал динамические контекстные меню для таблиц данных с множественным выбором?

Или у кого-нибудь есть идеи, которые могут сработать?

Приветствия.

Ответы на вопрос(1)

Ваш ответ на вопрос