跟我学Telerik公司的RadControls控件(四)
朋友們、同行們通過前面《跟我學Telerik公司的RadControls控件》系列三篇的學習,你一定會內心有一種涌動,有種相見(RadControls)恨晚的感覺。那就和曉軍一起加入學習RadControls控件的行列,為IT的朋友提供更加明了化的技術大餐,歡迎……
今天我將和你分享另一個更加完美的技術控件(Telerik RadTreeview)控件:
RadTreeview?是一個功能非常豐富的Asp.Net控件。它可以讓具有層次結構的數據的顯示,管理,導航變得輕而易舉,該產品提供非常豐富的高級特性,如拖放,按需要加載(MSDN-style), 右鍵上下文菜單,組合框模式,自動sql綁定等特性。 概要:- 按需加載巨型結構
如果您的treeview有大量的節點,您可以僅加載顯示的那一部分,在用戶需要的時候再加載其需要的部分,就如同MSDN中的菜單一樣 - 拖放功能
該特性讓您可以重新對r.a.d.treeview的結構進行布局. 并能自動觸發相應的服務器端事件 - 多節點同時選擇 (Ctrl + select)
您可以同時選擇多個節點,在進行服務器端時間提交時,所選定的所有節點信息會自動提交到服務器端 - Tree-view ComboBox模式
這是r.a.d.treeview的一大特點,可以自行treeview combobox, 類似于r.a.d.editor自定義鏈接的drop-down的效果。 - 完全支持圖片和CSS
你可以非常容易地設置控件的外觀,加入圖片和css。你可以控制每一個節點的樣式和狀態 - 從ADO.NET Dataset自動進行 sql 綁定
- 跨幀支持Cross-frame support
- 支持Check-box
r.a.d.treeview 讓你可以添加checkbox到每一個節點. 也可以非常容易地調整它們的樣式,在運行的時候,你可以使用專用程序借口獲得選定的集合。 - 動態add/delete/disable節點的接口
- 在單頁上可以添加多個實例
- 能夠控制節點的展開和收攏
- 在提交頁面后,保存滾動條的位置
- 在顯示的內容比較多的時候,該功能可以讓treeview在提交數據之后仍然可以顯示上次的節點位置。
實例分析:
1、實例圖
????????? 注:看上圖當子節點部分選中時,本節點出現虛空狀態,使用人員一眼就可以看到,那個節點下面是部分選中,呵呵,夠人性化了吧。頁面也
很美觀,給人以視覺沖擊。?
???? 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、后臺代碼
遞歸綁定控件數據,在這里就不多敘述了……
注意:本控件不僅有以上功能,可以可以方便實現動態加載,如圖:
當點擊節點時,才動態加載其子節點,如上圖紅框效果。
代碼:
?? <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?控件的常用技術點,詳細的還需要在使用的過程中慢慢揣摩,也真誠的希望各位朋友和我
共同學習、探討微軟相關控件的真正使用精髓。
轉載于:https://www.cnblogs.com/xj0112/archive/2010/07/20/1780945.html
總結
以上是生活随笔為你收集整理的跟我学Telerik公司的RadControls控件(四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue学习笔记-03-浅谈组件-概念,入
- 下一篇: Server.Transfer 和Res