 |
演示功能1:如何取下拉选中行的其它列的数据, 请选择下拉,观察下拉后的浮动提示窗,分析其js;
演示功能2:设置某些行不可选 |
下面就是js源码中OnEvent( )事件的片段:
function OnEvent(id, Event, p1, p2, p3, p4)
{
if(id=='AF1') {
if(Event == "DropdownSelChanged") { //演示取下拉选中行的其它列的内容
var work = AF1.func("GetDropCellData", p1 + "\r\n" + p2 + "\r\n work \r\n true"); //主演
var cur = AF1.func("GetDropCellData", p1 + "\r\n" + p2 + "\r\n cur \r\n true"); //生涯
var s = "主演: "+work + "\r\n生涯: " + cur;
s = s.replace(/\r\n/g, "\\r\\n");
AF1.func("msgFloat", s+ "\r\nhold=5"); //浮现提示(全局函数)
}
else if(Event == "DropDownDataReach" && p1=="person") { //演示 disable row 的功能
//注:在 DropDownDataReach 事件中实现对下拉数据的操作,是因为考虑到下拉数据默认是异步加载的!
var h = AF1.func("GetHandle", "abt");
AF1.func(h + "SetRowEnable", "0\r\nfalse");
}
}
}
 |
演示功能3:下拉的显示列表达式:下拉的数据是多列的,但 displayCol 采用了表达式,实现了同时显示下拉列表中多个列的功能;
关键点是XML中的 displayCol='=name+","+dis+"," + bdt+ "生于"+bornin' |
| Example1: 采用dropTreelist | | Example2: 采用DropList | |
|
|
|
|
|
Example1的XML描述文件:
<treelist>
<properties editable='true'/>
<cols>
<col name='id' width='50'>序号</col>
<col name='abt' edittype='dropTreelist' droplistId='person'>简介</col>
</cols>
<droplists>
<droplist id='person' treelistURL='treelist/t16_3.xml' dataCol='name' displayCol='=name+\",\"+dis+\",\" + bdt+ \"生于\"+bornin'/>
</droplists>
</treelist>
其中treelistURL指向的下拉Treelist的XML描述文件.
Example2的XML描述文件:
<treelist>
<properties editable='true'/>
<cols>
<col name='id' width='50'>序号</col>
<col name='abt' edittype='droplist' droplistId='person'>简介</col>
</cols>
<droplists>
<droplist id='person' dataURL='treelistdata/person.xml' dataCol='name' displayCol='=name+\",\"+dis+\",\" + bdt+ \"生于\"+bornin'/>
</droplists>
</treelist>