朋友们、同行们通过前面《跟我学Telerik公司的RadControls控件》系列三篇的学习,你一定会内心有一种涌动,有种相见(RadControls)恨晚的感觉。那就和晓军一起加入学习RadControls控件的行列,为IT的朋友提供更加明了化的技术大餐,欢迎……
今天我将和你分享另一个更加完美的技术控件(Telerik RadTreeview)控件:
- 按需加载巨型结构
如果您的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 控件的常用技术点,详细的还需要在使用的过程中慢慢揣摩,也真诚的希望各位朋友和我
共同学习、探讨微软相关控件的真正使用精髓。