上一篇用tree panel的root的中的節點的id值,人為的用其中的字元串的内容,區分是否是葉子節點的做法,是十分外行的。
正确的做法是:(被注釋掉的部分是外行的寫法)
agentTreeItemClick: function(dataview, record, item, index, e, eOpts) {
/*
var rid = "uselessStr";
rid = record.raw.id;
if (rid.indexOf("agent") != -1){
//包含agent字元串,是以什麼也不做
//Ext.Msg.alert("菜單資訊","record.raw.id:"+record.raw.id+" record.raw.text:"+record.raw.text);
}else{
//不包含agent字元串,是以顯示
Ext.Msg.alert("菜單資訊","record.raw.id:"+record.raw.id+" record.raw.text:"+record.raw.text+" record.raw.leaf:"+record.raw.leaf);
}
// dataview.getItemId()顯示treePanel擁有的view的itemid
*/
var bsign = record.raw.leaf;
if(bsign===true){
Ext.Msg.alert("測試leaf","record.raw.id:"+record.raw.id+" record.raw.text:"+record.raw.text+" record.raw.leaf:"+record.raw.leaf);
}
}
也就是說在上述方法fn的方法體中,使用參數record,擷取這個值record.raw.leaf,來判斷是否為葉節點。