总述:用dx:ASPxTreeView控件显示绑定结构树,结构树样式比较好看;通过脚本文件进行操作,比较方便
- 第一、确认电脑已经安装DevExpress组件
- 第二、新建项目,选择DXperience ASP.NET Outlook Inspired Web Application
- 第三、页面代码
<div id="divTreeView" style="overflow: auto;">
<dx:ASPxTreeView ID="MailFilter" AllowSelectNode="True" runat="server">
<Styles>
<NodeImage Paddings-PaddingTop="3px" />
</Styles>
<ClientSideEvents NodeClick="OutlookController.MailFilterNodeClick" />
</dx:ASPxTreeView>
</div>
- 第四、后台操作:
/// <summary>
/// 递归方法实现TreeView绑定
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="p_node">树节点</param>
/// <param name="pid_val">父节点编号</param>
/// <param name="fieldName">节点字段值名/param>
/// <param name="pFieldName">父节点字段名</param>
public void BindTreeView(DataTable dt, TreeViewNode p_node, string pid_val, string fieldName, string pFieldName)
{
DataView dv = new DataView(dt);
string filter = string.Format(pid_val += "'{0}'", pid_val);
dv.RowFilter = filter;//根据父节点值过滤
foreach (DataRowView row in dv)
{
TreeViewNode tvn = new TreeViewNode();
if (p_node == null)//根节点
{
//设置tvn节点属性,将此节点添加到树控件
//将tvn节点递归调用传入方法BindTreeView(dt,tvn,row["父节点"], fieldName,pFieldName)
}
else
{
//设置tvn节点属性,将tvn节点添加到p_node节点
//将tvn节点递归调用传入方法BindTreeView(dt,tvn,row["父节点"], fieldName,pFieldName)
}
}
}
- 第五、浏览页面,详细的操作可在 script.js文件中编写对应的方法