鼠标右键弹出菜单中,有和业务关联的菜单项,这些菜单项是完全自定义的.
注:鼠标点在不同的行,弹出菜单内容是不一样的;如果点在标题区或下方的空白区,菜单内容是disable的.





1.源码分析:所有秘密全部在OnEvent事件中:
function OnEvent(id, Event, p1, p2, p3, p4)
{
 //右键菜单弹出前的事件
 if(Event=="MenuBeforePopup") {
  var name1="时髦男帽";
  var name2="时髦头巾";
  var enable="true";
  if(p1 != "-1") {  //鼠标点在某行
   name1 = "客户 " + AF.func("getCellText", p1 + "\r\n CustomerID") + " 的" + name1;
   name2 = name2 + ", 产地:" + AF.func("getCellText", p1 + "\r\n Country");
  }
  else { //鼠标点在标题区或空白区
   enable="false";
  }
  
  //拼装成菜单串
  var menu = "id=4001; text=" +name1+ "; icon=treelist/buttons.zip#301.ico; detail=夏季时装;";
  menu += "enabled=" +enable+ "\r\n";
  menu += "id=4002; text=" +name2+ "; icon=treelist/buttons.zip#302.ico; detail=优惠直销;";
  menu += "enabled=" +enable;
  AF.func("AddMenu", menu);
 }
 
 //选中后触发的事件
 else if(Event=="MenuClicked") {
  AF.func("MessageBoxFloat", "触发了js事件!\\r\\n\\r\\n自定义功能号(id):" + p1 + "\\r\\n\\r\\n行:" +p2+ ",  列:"+p3);
 }
}