该tree将从集团--分公司--部门--人员全部提出来进行浏览并选择操作.表结构如下分为组织表和人员表:
组织表: 组织码 父节点
1 001 A集团公司
2 001001 南京分公司 001
3 001002 成都分公司 001
4
5 001001001 南京分公司总经理办公室 001001
6 001001001003 经营部 001001001
7 001001001004 财务部 001001001
8 001001001005 发展部 001001001人员表: 组织码
1 001001001003001 孙南 南京分公司总经理办公室经营部 总经理
2 001001001005001 李海 南京分公司总经理办公室发展部 部长
------------------------------------------------------------
希望实现动态无限级别功能,并要求效率.刚转型.net请大家帮忙了.查过很多以前的链接数据结构大多不同没有有价值的.
组织表: 组织码 父节点
1 001 A集团公司
2 001001 南京分公司 001
3 001002 成都分公司 001
4
5 001001001 南京分公司总经理办公室 001001
6 001001001003 经营部 001001001
7 001001001004 财务部 001001001
8 001001001005 发展部 001001001人员表: 组织码
1 001001001003001 孙南 南京分公司总经理办公室经营部 总经理
2 001001001005001 李海 南京分公司总经理办公室发展部 部长
------------------------------------------------------------
希望实现动态无限级别功能,并要求效率.刚转型.net请大家帮忙了.查过很多以前的链接数据结构大多不同没有有价值的.
解决方案 »
- 问个有关创建文件夹上传附件的设计问题
- jQuery如何根据当前点击的div区域找出其他div?
- gridview 问题
- 150分求解解析XML并存入ms sqlserver问题!
- 急!TreeView显示问题?
- 如何将网页的cs文件编译成一个dll文件
- gridview跨页面传值
- WINFROM到WEB的忧伤
- 怎样将数据动态绑定到DataGrid模板列中的Label上?
- 2个下拉列表传值(改变一个时,使另一个改变)怎么做,谢
- 怎样再后台 得到 动态生成的DIV(JS生成的)的 各种属性,在线等
- TreeView 中怎么调整节点的位置?? 好像 .net 2.0中的TreeView控件没有对应的功能 -_-||
{
TreeNode childNode;
String filter;
if(first){
filter = "ParentId is null";
} else {
filter = string.Format("ParentId = '{0}'", rootNode.NodeData)
}
foreach(DataRow row in dtOrgUnit.Select(filter) {
childNode = new TreeNode();
childNode.Text = row["Description"].ToString();
childNode.NodeData = row["Id"].ToString();
rootNode.Nodes.Add(childNode);
BuildTree(childNode,dtOrgUnit,false);
}
}void BuildOrgUnit()
{
DataTable dtOrgUnit = get data from database;
TreeNode rootNode = new TreeNode();
rootNode.Text = "Org Unit"
treeControl.Nodes.Add(rootNode);
BuildTree(rootNode,dtOrgUnit,true);
}
以字符只不过是利用了编码规则来确定结点结构。这样只适用于辅助。因为这样根本不严谨。如果实在用这种方法,就是字符串的操作。判断位数。不知道你要人。给你讲什么
{
TreeNode childNode;
String filter;
if(first){
filter = "Id like '___'";
} else {
filter = string.Format("Id like '{0}___'", rootNode.NodeData)
}
foreach(DataRow row in dtOrgUnit.Select(filter) {
childNode = new TreeNode();
childNode.Text = row["Description"].ToString();
childNode.NodeData = row["Id"].ToString();
rootNode.Nodes.Add(childNode);
BuildTree(childNode,dtOrgUnit,false);
}
} void BuildOrgUnit()
{
DataTable dtOrgUnit = get data from database;
TreeNode rootNode = new TreeNode();
rootNode.Text = "Org Unit"
treeControl.Nodes.Add(rootNode);
BuildTree(rootNode,dtOrgUnit,true);
}