13.自定义菜单

“自定义菜单”是指向鼠标右键弹出菜单增加菜单项，通过"MenuBeforePopup"事件、调用AddMenu( )函数、以及"MenuClicked"事件，实现了菜单的自定义，整个过程是动态的。
详细的过程是：当鼠标右键菜单即将要弹出时，Treelist会触发页面的OnEvent(id, "MenuBeforePopup", ...)事件，在这个事件的js中，你可以通过调用AddMenu( )函数向Treelist动态增加菜单项；如果用户选中了你定义的菜单项，Treelist会触发OnEvent(id, "MenuClicked", ...)事件，从而达到了自定义菜单功能的目的.
在demo中有详细的演示页，相信您一看就明白。
AddMenu( 参数 )函数中的参数可以是XML串、非XML的文字串，或URL，其规则举例如下：

    <items>
    <item id="3103" text="热销" icon="buttons.zip#303.ico">
    <item id="KB3104" text="滞销产品" icon="buttons.zip#304.ico">
     <item id="31041" text="库存1" style="checkbox" checked="true" icon="buttons.zip#304.ico" detail="浮动的详细说明，可选"/>
     <item id="31042DM" text="库存2" enable="false" detail="浮动的详细说明，可选"/>
    </item>
    </items>

如果采用非XML的普通串，其举例如下：

    //多个菜单项之间以回车符分隔
    var s = "id=40N01; text=男帽; icon=buttons.zip#301.ico; detail=夏季时装\r\n";
    s += "id=4002; text=时髦头巾; icon=buttons.zip#302.ico; detail=优惠直销"

规则1：如果是XML串，元素名须为item;
规则2：如果是XML串，item允许有下级item，表示菜单项的子菜单：
规则3：属性有id、text、icon、enable、style、checked、detail;
规则4：属性 style 的可用值有Normal、checkbox、radiobutton，默认是Normal;
规则5：如果 style="checkbox" 或 "radiobutton"，那么属性 Checked 的值可以为 true 或 false，表示选中或未选中;
规则6：id可以是任意串， 如果是纯数字串， 则必须 >=3000 , 切记.
规则7：如果需要在英文环境(例如英文操作系统)运行、或需要中英文切换的，那么 text 的内容必须用竖线 "|" 分隔中英文，比如 "text=帽子|Hat", 系统会根据当前语言自动取得竖线左侧或右侧部分.