2025-04-30

                  
參考示例:右鍵菜單

           
         
一:創建ContextMenu

<ul id="gridMenu" class="mini-contextmenu" onbeforeopen="onBeforeOpen">             
    <li name="add" iconCls="icon-add" onclick="onAdd">新增</li>
    <li name="edit" iconCls="icon-edit" onclick="onEdit">編輯節點</li>
    <li name="remove" iconCls="icon-remove" onclick="onRemove">刪除節點</li>       
</ul>

          
二:設置表格contextmenu

<p id="datagrid1" class="mini-datagrid"
    contextMenu="#gridMenu">
    ……
</p>  

          
三:監聽beforeopen事件         

監聽右鍵菜單的beforeopen事件,可以對右鍵菜單精確控制。

function onBeforeOpen(e) {
    var grid = mini.get("datagrid1");
    var menu = e.sender;
           
    var row = grid.getSelected();
    var rowIndex = grid.indexOf(row);           
    if (!row ||  rowIndex== 0) {
        e.cancel = true;
        //阻止瀏覽器默認右鍵菜單
        e.htmlEvent.preventDefault();
        return;
    }
    ////////////////////////////////
    var editItem = mini.getbyName("edit", menu);
    var removeItem = mini.getbyName("remove", menu);
    editItem.show();
    removeItem.enable();

    if (rowIndex == 1) {
        editItem.hide();
    }
    if (rowIndex == 1) {
        removeItem.disable();
    }

}

          
四:表頭菜單headerContextMenu

 創建同樣一個menu菜單對象,設置給表格的headerContextMenu屬性即可。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *