Search code examples
javascriptjquerydevextreme

Devextreme live update menu


i try work with devextreme + jquery/ and i can understood, how i can do next functionality i nedd

$("#gridContainer").dxDataGrid({
                dataSource: gridDataSource,
                selection: {
                    mode: "multiple"
                },
.
.
.
onSelectionChanged: function () {
                        console.log('Hoola!!');
                    var menu = $("#menu").dxMenu('instance');
                    disabledMenu = false;
                    menu.repaint();

                }


 var menuItems = [
    {
     text: "With checked",
     icon: "preferences",
     disabled: disabledMenu,

but this not work how i can do that?


Solution

  • The easiest way to disable a dxMenu item is to access the necessary item via the "items" option. For example:

    https://jsfiddle.net/fktfju1c/

    $("#button").dxButton({
        text: "Disable the 'DesktopLCD 21' item",
        onClick: function () {
           var menuInstance = $("#menu").dxMenu("instance");
           menuInstance.option("items[2].items[1].disabled", true);
        }
    });
    
    $("#menu").dxMenu({
        dataSource: menuItems 
    });