填入的JSON数据(相对URL):
1.抛给页面的事件如下，表中“船名”、“城市”列是可以输入的，请任意作能触发如下事件的操作;
2.请将鼠标在任一行的"国家"单元格处停留，会触发事件, 你可以看到有国旗图标的浮动提示框；

当前: |  | 单击: |  | 双击: |
按钮: |  | 超链接: |  | 修改: |
离开单元格: |  | 键盘(非字符): |  | 键盘(字符): |

1.源码分析：js源码中的OnEvenet( )函数由Treelist触发:

    function OnEvent(id, Event, p1, p2, p3, p4)
    {
     if(Event == "SelChanged") {  //事件：当前行或单元格切换
      var s;
      if(p2=="")
       s = "行号: " + p1;
      else
       s = "行号: " + p1 + "，列名: " + p2;
      document.getElementById("CurSelStr").innerHTML = s;
     }
     else if(Event == "Clicked") {  //事件：鼠标单击在某单元格
      document.getElementById("ClickStr").innerHTML = "行号: " + p1 + "，列名: " + p2;
      if(p4 =="button")  //单击在按钮上
       document.getElementById("ButtonStr").innerHTML = "行号: " + p1 + "，列名: " + p2;
      else if(p3 != "")  //单击在超链接上
       document.getElementById("HyperStr").innerHTML = "内容: " + p3;
     }
     else if(Event == "DblClicked" )   //事件：鼠标双击
      document.getElementById("DblClickStr").innerHTML = "行号: " + p1 + "，列名: " + p2;
     else if(Event == "EditChanged" )  //事件：内容被修改
     ...(略)
     //如下是鼠标移入“国家”单元格触发的事件，事件中执行了全局函数 MessageboxPoint
     else if(Event == "MouseMoveIn") {
     	var country = AF.func("GetCellData", p1 + "\r\n" + p2);
     	var s = "Cursor \r\n" + "行号: " + p1 + "\\r\\n列名: " + p2 + "\\r\\n国家: " +country+ "<br><image>treelistdata/flag-large/" +country+ ".png</image>";
     	AF.func("MessageboxPoint", s);
     }
    }

2.Treelist的XML描述文件中，当前选中行的颜色定义如下：

    <Properties curSelBackColor="#33aaccee;borderWidth=1;borderRound=6;borderColor=#55aaff" .../>

注：背景色 "#33aaccee" 中，"#33" 是Alpha(即透明度)，"#aaccee"是RGB，这就是所谓“ARGB”.
此外，XML中除了一个edittype="button"列、一个"EditWithButton"列，没别的特殊之处.
3.本例填入了JSON格式的数据.