Ultratree通过数据库的内容动态添加树
来源:互联网 发布:淘宝开团怎么抢 编辑:程序博客网 时间:2024/05/21 14:42
数据库的字段
taskkindid , taskid ,fatherid, taskname...
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Text;
public partial class TaskAdministration_TimeSelect : System.Web.UI.Page
...{
DataTable dt = new DataTable();
Database db = DatabaseFactory.CreateDatabase();
protected void Page_Load(object sender, EventArgs e)
...{
bindtree(UltTree);
}
protected void bindtree(Infragistics.WebUI.UltraWebNavigator.UltraWebTree treeview)
...{
treeview.Nodes.Clear();
/**/////創建四个根節點,葉面會產生四個根,只要一個根,則定義一個節點
Infragistics.WebUI.UltraWebNavigator.Node rootnode1 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode2 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode3 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode4 = new Infragistics.WebUI.UltraWebNavigator.Node();
//添加固定根節點,若沒有固定的標題,則可以不添加
rootnode1.Text = "專案事項";
rootnode1.Tag = "1";
rootnode2.Text = "會議事項";
rootnode2.Tag = "2";
rootnode3.Text = "例行事項";
rootnode3.Tag = "3";
rootnode4.Text = "一般事項";
rootnode4.Tag = "4";
treeview.Nodes.Add(rootnode1);
treeview.Nodes.Add(rootnode2);
treeview.Nodes.Add(rootnode3);
treeview.Nodes.Add(rootnode4);
//獲取形成樹的數據
dt = getTrees("1");
//調用遞歸添加樹結點
CreateChildNode(rootnode1, "0",dt);
dt = getTrees("2");
CreateChildNode(rootnode2, "0", dt);
dt = getTrees("3");
CreateChildNode(rootnode3, "0", dt);
dt = getTrees("4");
CreateChildNode(rootnode4, "0", dt);
}
/**//// <summary>
/// 遞歸方法添加節點
/// </summary>
/// <param name="parentnode"></param>
/// <param name="taskid"></param>
/// <param name="dt"></param>
public void CreateChildNode(Infragistics.WebUI.UltraWebNavigator.Node parentnode,string taskid,DataTable dt)
...{
DataRow[] rows = dt.Select("Fatherid='"+taskid+"'");
foreach (DataRow dr in rows)
...{
Infragistics.WebUI.UltraWebNavigator.Node nd = new Infragistics.WebUI.UltraWebNavigator.Node();
nd.Tag = dr["taskid"].ToString();
nd.Text = dr["taskname"].ToString();
parentnode.Nodes.Add(nd);
//遞歸調用獲取所有數據
CreateChildNode(nd,dr["taskid"].ToString(),dt);
}
}
/**//// <summary>
/// 獲取數據
/// </summary>
/// <param name="taskkindid"></param>
/// <returns></returns>
public DataTable getTrees(string taskkindid)
...{
StringBuilder cmdText = new StringBuilder();
cmdText.Append("Select * From Task Where TaskKindID='"+taskkindid+"'");
DbCommand cmd = db.GetSqlStringCommand(cmdText.ToString());
dt = db.ExecuteDataSet(cmd).Tables[0];
int i = dt.Rows.Count;
return dt;
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
using Microsoft.Practices.EnterpriseLibrary.Common;
using Microsoft.Practices.EnterpriseLibrary.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Text;
public partial class TaskAdministration_TimeSelect : System.Web.UI.Page
...{
DataTable dt = new DataTable();
Database db = DatabaseFactory.CreateDatabase();
protected void Page_Load(object sender, EventArgs e)
...{
bindtree(UltTree);
}
protected void bindtree(Infragistics.WebUI.UltraWebNavigator.UltraWebTree treeview)
...{
treeview.Nodes.Clear();
/**/////創建四个根節點,葉面會產生四個根,只要一個根,則定義一個節點
Infragistics.WebUI.UltraWebNavigator.Node rootnode1 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode2 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode3 = new Infragistics.WebUI.UltraWebNavigator.Node();
Infragistics.WebUI.UltraWebNavigator.Node rootnode4 = new Infragistics.WebUI.UltraWebNavigator.Node();
//添加固定根節點,若沒有固定的標題,則可以不添加
rootnode1.Text = "專案事項";
rootnode1.Tag = "1";
rootnode2.Text = "會議事項";
rootnode2.Tag = "2";
rootnode3.Text = "例行事項";
rootnode3.Tag = "3";
rootnode4.Text = "一般事項";
rootnode4.Tag = "4";
treeview.Nodes.Add(rootnode1);
treeview.Nodes.Add(rootnode2);
treeview.Nodes.Add(rootnode3);
treeview.Nodes.Add(rootnode4);
//獲取形成樹的數據
dt = getTrees("1");
//調用遞歸添加樹結點
CreateChildNode(rootnode1, "0",dt);
dt = getTrees("2");
CreateChildNode(rootnode2, "0", dt);
dt = getTrees("3");
CreateChildNode(rootnode3, "0", dt);
dt = getTrees("4");
CreateChildNode(rootnode4, "0", dt);
}
/**//// <summary>
/// 遞歸方法添加節點
/// </summary>
/// <param name="parentnode"></param>
/// <param name="taskid"></param>
/// <param name="dt"></param>
public void CreateChildNode(Infragistics.WebUI.UltraWebNavigator.Node parentnode,string taskid,DataTable dt)
...{
DataRow[] rows = dt.Select("Fatherid='"+taskid+"'");
foreach (DataRow dr in rows)
...{
Infragistics.WebUI.UltraWebNavigator.Node nd = new Infragistics.WebUI.UltraWebNavigator.Node();
nd.Tag = dr["taskid"].ToString();
nd.Text = dr["taskname"].ToString();
parentnode.Nodes.Add(nd);
//遞歸調用獲取所有數據
CreateChildNode(nd,dr["taskid"].ToString(),dt);
}
}
/**//// <summary>
/// 獲取數據
/// </summary>
/// <param name="taskkindid"></param>
/// <returns></returns>
public DataTable getTrees(string taskkindid)
...{
StringBuilder cmdText = new StringBuilder();
cmdText.Append("Select * From Task Where TaskKindID='"+taskkindid+"'");
DbCommand cmd = db.GetSqlStringCommand(cmdText.ToString());
dt = db.ExecuteDataSet(cmd).Tables[0];
int i = dt.Rows.Count;
return dt;
}
}
- Ultratree通过数据库的内容动态添加树
- ultratree的使用(四):动态加载树
- QT学习:根据数据库的内容动态添加Button
- ultratree的使用(三):在树上面添加新节点
- UltraTree的使用(Infragistics.Win.UltraWinTree.UltraTree)
- 如何通过js动态的插入内容
- 动态的给下拉列表添加内容
- 通过sql语句动态显示数据库内容到jtable
- jquery结合js实现动态添加内容,并给动态添加的内容添加事件
- 动态添加html内容
- 1.4 添加动态内容
- Fragment动态添加内容
- fieldset动态添加内容
- textarea中的内容通过添加按钮添加到SQL数据库中
- Nodes 的基本问题(UltraTree、TreeView)
- 正文内容 mysql数据库添加添加事务处理为mysql数据库添加添加事务处理的方法-
- 通过JQ的contents()往iframe中添加内容
- asp.net动态添加文本框并获取内容添加到数据库中
- 正确地做事与做正确的事同样重要
- 在SQL Server中快速删除重复记录
- [转]关于P2P应用中NAT穿透技术的资料
- 读写配置文件app.config
- [转] P2P 之 UDP穿透NAT的原理与实现(附源代码)
- Ultratree通过数据库的内容动态添加树
- Strategy模式
- 突破局域网对用户的限制
- SyntaxHighlighter:很优秀的代码着色工具
- aspnet_regiis命令详解
- 查找--遍历二叉树
- 验证字符串的JavaScript代码
- 作业
- 一个关于Comparator的使用例子