Ext TreePanel實現單選等功能

2021-08-25 06:46:06 字數 1984 閱讀 8106

[quote]

在ext1.x裡,樹是沒有checkbox的, 幸好在2.x版本裡提供了這個功能, 在許多應用裡, 帶有checkbox的樹使用還是很常見的

ext2.x提供了簡單的checkbox實現,但對於一些複雜的需求,如: 級聯多選(選中父結點,自選中其所有子結點和所有父結點) , 單選等等, ext2.x並沒有幫我們實

還有最難解決的情況, 當樹是非同步的時候, 要想級聯多選, 實現起來有些難度

在此, 通過對ext.tree.treenodeui進行擴充套件,這些問題都得到很好的解決

對 ext.tree.treenodeui 進行checkbox功能的擴充套件,後台返回的結點資訊不用非要包含checked屬性

擴充套件的功能點有:

一、支援只對樹的葉子進行選擇

只有當返回的樹結點屬性leaf = true 時,結點才有checkbox可選

使用時,只需在宣告樹時,加上屬性 onlyleafcheckable: true 既可,預設是false

二、支援對樹的單選

只允許選擇乙個結點

使用時,只需在宣告樹時,加上屬性 checkmodel: "single" 既可

三、支援對樹的級聯多選

當選擇結點時,自動選擇該結點下的所有子結點,或該結點的所有父結點(根結點除外),特別是支援非同步,當子結點還沒顯示時,會從後台取得子結點,然後將其選中/取消選中

使用時,只需在宣告樹時,加上屬性 checkmodel: "cascade" 或"parentcascade"或"childcascade"既可

cascade :級聯選中所有父結點和子結點

parentcascade :級聯選中所有父結點

childcascade :級聯選中所有子結點

四、新增"check"事件

該事件會在樹結點的checkbox發生改變時觸發

使用時,只需給樹註冊事件,如:

tree.on("check",function(node,checked));

預設情況下,checkmodel為 'multiple',也就是多選;onlyleafcheckable為false,所有結點都可選

使用方法:在loader裡加上 baseattrs: 既可.

例如:js**

var tree = new ext.tree.treepanel( //新增uiprovider屬性

}),

root: new ext.tree.asynctreenode()

});

tree.on("check",function(node,checked)); //註冊"check"事件

tree.render();

var tree = new ext.tree.treepanel(//新增uiprovider屬性

}),root: new ext.tree.asynctreenode()

});tree.on("check",function(node,checked)); //註冊"check"事件

tree.render();

需要注意的是, 使用例子裡的tree 使用了ext.tree.dwrtreeloader這個擴充套件類,用來載入後台樹結點,這和使用其它的loader沒有區別的,

如果您使用其它的loader, 同樣加上 baseattrs: 就行了

實現單選功能:

this.on('checkchange',this.check,this);

getnodes:function(treepanel);

startnode.cascade(f);

return r;

},check : function(node,bool)

if(this.checkmodel=='single')}}

}}}

[/quote]

[url]

單鏈表實現

單鏈表 1 邏輯上連續,位置上可以不連續的儲存方式。2 單鏈表由無數個結點組成,每個結點由資料段和指標域組成,資料段儲存資料,指標域儲存後繼的位址。3 每個結點最多有乙個前繼和乙個後繼。4 其中第乙個結點沒有前繼,所以我們通常建立乙個頭結點來儲存他的位置,其中頭結點的資料段我們不關注。5 最後乙個結...

單鏈表實現

include include define max 50 struct lnode 求鍊錶的長度 不包含頭結點 int length struct lnode node return i 初始化頭 int inithead struct lnode p struct lnode insert st...

單鏈表的實現

include includetypedef struct node 定義鍊錶 snode snode creat 建立鍊錶的函式 q next null return head int length snode head 測鍊錶的結點數 return i void display snode he...