跟我学Telerik公司的RadControls控件(四)
朋友們、同行們通過前面《跟我學(xué)Telerik公司的RadControls控件》系列三篇的學(xué)習(xí),你一定會內(nèi)心有一種涌動,有種相見(RadControls)恨晚的感覺。那就和曉軍一起加入學(xué)習(xí)RadControls控件的行列,為IT的朋友提供更加明了化的技術(shù)大餐,歡迎……
今天我將和你分享另一個更加完美的技術(shù)控件(Telerik RadTreeview)控件:
RadTreeview?是一個功能非常豐富的Asp.Net控件。它可以讓具有層次結(jié)構(gòu)的數(shù)據(jù)的顯示,管理,導(dǎo)航變得輕而易舉,該產(chǎn)品提供非常豐富的高級特性,如拖放,按需要加載(MSDN-style), 右鍵上下文菜單,組合框模式,自動sql綁定等特性。 概要:- 按需加載巨型結(jié)構(gòu)
如果您的treeview有大量的節(jié)點(diǎn),您可以僅加載顯示的那一部分,在用戶需要的時候再加載其需要的部分,就如同MSDN中的菜單一樣 - 拖放功能
該特性讓您可以重新對r.a.d.treeview的結(jié)構(gòu)進(jìn)行布局. 并能自動觸發(fā)相應(yīng)的服務(wù)器端事件 - 多節(jié)點(diǎn)同時選擇 (Ctrl + select)
您可以同時選擇多個節(jié)點(diǎn),在進(jìn)行服務(wù)器端時間提交時,所選定的所有節(jié)點(diǎn)信息會自動提交到服務(wù)器端 - Tree-view ComboBox模式
這是r.a.d.treeview的一大特點(diǎn),可以自行treeview combobox, 類似于r.a.d.editor自定義鏈接的drop-down的效果。 - 完全支持圖片和CSS
你可以非常容易地設(shè)置控件的外觀,加入圖片和css。你可以控制每一個節(jié)點(diǎn)的樣式和狀態(tài) - 從ADO.NET Dataset自動進(jìn)行 sql 綁定
- 跨幀支持Cross-frame support
- 支持Check-box
r.a.d.treeview 讓你可以添加checkbox到每一個節(jié)點(diǎn). 也可以非常容易地調(diào)整它們的樣式,在運(yùn)行的時候,你可以使用專用程序借口獲得選定的集合。 - 動態(tài)add/delete/disable節(jié)點(diǎn)的接口
- 在單頁上可以添加多個實(shí)例
- 能夠控制節(jié)點(diǎn)的展開和收攏
- 在提交頁面后,保存滾動條的位置
- 在顯示的內(nèi)容比較多的時候,該功能可以讓treeview在提交數(shù)據(jù)之后仍然可以顯示上次的節(jié)點(diǎn)位置。
實(shí)例分析:
1、實(shí)例圖
????????? 注:看上圖當(dāng)子節(jié)點(diǎn)部分選中時,本節(jié)點(diǎn)出現(xiàn)虛空狀態(tài),使用人員一眼就可以看到,那個節(jié)點(diǎn)下面是部分選中,呵呵,夠人性化了吧。頁面也
很美觀,給人以視覺沖擊。?
???? 2、在html代碼中加入
?<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
????????? 或<telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
3、?拖拽控件RadTreeView控件到html頁面
<telerik:RadTreeView runat="server" ID="rtvMenu" CheckBoxes="true" CheckChildNodes="true"
??????????????????????? TriStateCheckBoxes="true">
???????????</telerik:RadTreeView>
4、后臺代碼
遞歸綁定控件數(shù)據(jù),在這里就不多敘述了……
注意:本控件不僅有以上功能,可以可以方便實(shí)現(xiàn)動態(tài)加載,如圖:
當(dāng)點(diǎn)擊節(jié)點(diǎn)時,才動態(tài)加載其子節(jié)點(diǎn),如上圖紅框效果。
代碼:
?? <telerik:RadTreeView ID="RadTreeView1" runat="server" Height="300px" Width="100%" ?? OnNodeExpand="RadTreeView1_NodeExpand" />
???? 事件:
???? protected void RadTreeView1_NodeExpand(object sender, RadTreeNodeEventArgs e)
????{
????????PopulateNodeOnDemand(e, TreeNodeExpandMode.ServerSideCallBack);
????}
?
private static void PopulateNodeOnDemand(RadTreeNodeEventArgs e, TreeNodeExpandMode expandMode)
????{
????????DataTable data = GetChildNodes(e.Node.Value);
????????foreach (DataRow row in data.Rows)
????????{
????????????RadTreeNode node = new RadTreeNode();
????????????node.Text = row["Title"].ToString();
????????????node.Value = row["CategoryId"].ToString();
????????????if (Convert.ToInt32(row["ChildrenCount"]) > 0)
????????????{
????????????????node.ExpandMode = expandMode;
????????????}
????????????e.Node.Nodes.Add(node);
????????}
????????e.Node.Expanded = true;
????}
好了,以上就是我目前使用到的RadTreeview?控件的常用技術(shù)點(diǎn),詳細(xì)的還需要在使用的過程中慢慢揣摩,也真誠的希望各位朋友和我
共同學(xué)習(xí)、探討微軟相關(guān)控件的真正使用精髓。
轉(zhuǎn)載于:https://www.cnblogs.com/xj0112/archive/2010/07/20/1780945.html
總結(jié)
以上是生活随笔為你收集整理的跟我学Telerik公司的RadControls控件(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue学习笔记-03-浅谈组件-概念,入
- 下一篇: Server.Transfer 和Res