![]() |
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格式的数据. |