TreeView 创建树
来源:互联网 发布:微信外卖订餐系统源码 编辑:程序博客网 时间:2024/05/16 08:27
//调用
// 加载时显示数据
DataTable dt = CreateTestData();
//从数据库中查询出数据并以此数据创建树
this.CreateTreeNode(this.tevBookClass.Nodes, dt, null);
/// <summary>
/// 创建树
/// </summary>
/// <param name="nodes">控件名</param>
/// <param name="dt">绑定表</param>
/// <param name="curID">null</param>
private void CreateTreeNode(TreeNodeCollection nodes, DataTable dt, string curID)
{
//清空树中所有节点,以免出现重复显示的树节点
nodes.Clear();
// 创建一个空行记录
DataRow[] rows = null;
if (curID == null)
{
//查询出该树最上面一层的节点
rows = dt.Select("[PARENT_CODE] = ''");//"[PARENT_CODE] is null"
}
else
{
//取出以该节点为父节点的所有节点
rows = dt.Select("[PARENT_CODE] = '" + curID + "'");
}
// 循环赋值
foreach (DataRow row in rows)
{
//添加树的节点
TreeNode node = new TreeNode();
node.Value = row["CHILD_CODE"].ToString();
node.Text = row["CHILD_NAME"].ToString();
nodes.Add(node);
//递归调用,创建树
this.CreateTreeNode(node.ChildNodes, dt, node.Value);
}
}
/// <summary>
/// 创建一空数据表,使gridview显示出来
/// </summary>
/// <returns></returns>
private DataTable CreateTestData()
{
FacadeS0101 getMessage = new FacadeS0101();
//创建表的实例
DataTable dt = new DataTable();
DataTable table = new DataTable();
//给该表添加列
table.Columns.Add("CHILD_CODE");
table.Columns.Add("PARENT_CODE");
table.Columns.Add("CHILD_NAME");
//取得数据源
dt = getMessage.SelectMark();
//循环赋值
for (int i = 0; i < dt.Rows.Count; i++)
{
//添加数据到tablerow
table.Rows.Add(new object[] { dt.Rows[i]["CHILD_CODE"].ToString(),
dt.Rows[i]["PARENT_CODE"].ToString(), dt.Rows[i]["CHILD_NAME"].ToString() });
}
table.AcceptChanges();
//返回数据表
return table ;
}
/////html代码
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>营销分类选择</title>
<base target="_self"/>
</head>
<script language ='javascript' type='text/javascript'>
function OnTreeNodeChecked()
{
var ele = event.srcElement;
if(ele.type=='checkbox')
{
var childrenDivID = ele.id.replace('CheckBox','Nodes');
var div = document.getElementById(childrenDivID);
if(div==null)return;
var checkBoxs = div.getElementsByTagName('INPUT');
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].type=='checkbox')
checkBoxs[i].checked=ele.checked;
}
}
}
</script>
<body>
<form id="form1" runat="server">
<div align ="center">
<asp:TreeView ID="tevBookClass" runat="server" ShowCheckBoxes ="All" OnClick="OnTreeNodeChecked()" Width="239px" >
</asp:TreeView>
<br />
<asp:Button ID="btnOk" runat="server" OnClick="btnOk_Click" Text="确 定" Width="60px" />
<asp:Button ID="btnCancel" runat="server" OnClick="btnCancel_Click" Text="取 消" Width="60px" /></div>
</form>
</body>
</html>
- TreeView 创建树
- 快速创建树 算法 treeCreate treeview
- TreeView动态加载SQL数据创建树
- 动态创建TreeView树型菜单
- 动态创建TreeView控件
- 动态创建TreeView控件
- treeview创建根节点
- 根据合成模式 创建treeview
- treeview创建四个根节点
- WPF中动态创建TreeView。
- 两种方法创建WPF目录树TreeView和GridView数据绑定
- 创建一个带有CheckBox的TreeView
- c#winform treeview根据菜单创建节点
- C# 创建年、月、周、日TreeView
- 创建一个带有CheckBox的TreeView
- tcltk创建scrollbar在treeview中
- 动态加载树----treeView
- 动态加载树TreeView
- java 基础试题及答案(自己的理解)
- [rails] 我的订餐系统 -- 小试ruby on rails
- 软件实施成功第一步--抑制需求
- ini文件读取(C#)
- JavaScript提交表单
- TreeView 创建树
- 异常处理
- 20个别类,343个实例
- 全能网管之网吧常用DOS工具介绍
- 转载:如何将CString类型的变量赋给char*类型的变量
- 一个人能够走多远,取决于他跟什么人同行
- pb903+sqlserver2000开发得程序,客户端需要得dll
- typedef和typename的区别
- get system call table in x86-64 Linux