例如我的SQL数据库表tree如下:
id T1 T2
1 1 1
2 1 null
3 2 2
4 2 null大致生成的树是: {1
{1{
{ {1
tree{
{ {2
{2{
{ {2
我想大体实现这样的效果,并且可以编辑,新增,删除树上的节点,请问这样的问题如何解决?
id T1 T2
1 1 1
2 1 null
3 2 2
4 2 null大致生成的树是: {1
{1{
{ {1
tree{
{ {2
{2{
{ {2
我想大体实现这样的效果,并且可以编辑,新增,删除树上的节点,请问这样的问题如何解决?
解决方案 »
- 如何利用Gridview读两张表的数据,其中有一行数据的某列有多行数据。
- 求助啊~怎样计算二叉树中一个节点左子节点以下所有节点的值的和
- 我想写一个在线修改xml文件的程序!
- 在线等 求一个正则表达式
- 怎么调用事件!
- goody9807老大,再次求教 !!!!!
- 怎么修改web.config可以达到让用户输入html符号不导致错误,在线等---100分
- adapter的UPDATE方法怎么用来进行数据操作
- 如何做一个浮动的IFRAMME??
- 下拉选择的日期控件(user control) 有日期的验证 作为礼物给大家
- 急:后台代码如何给javascript中的变量赋值?
- ASP.NET缓存操作本地可以服务器上出现问题
/// <summary>
/// 当树节点为0时,创建添加一级指标的节点
/// </summary>
/// <param name="mTree"></param>
/// <param name="level"></param>
/// <param name="name"></param>
/// <returns></returns>
public TreeNode CreateTree(TreeView mTree, string level, string name)
{
TreeNode temp = new TreeNode();
byte[] bTemp;
temp.Text = "<a herf='#'></a>" + name; temp.Text += " <a href='#' onclick=\"OpenQAddWin(this)\" srclink=\"QuestionAdd.aspx?code=0&name=" + name + "&level=" + level + "\"><font color='#0000FF'>添加一级指标</font></a>";
temp.Value = "0";
mTree.Nodes.Add(temp);
return temp;
} /// <summary>
/// 通过递归来创建树和加载子节点
/// </summary>
/// <param name="mynode"></param>
/// <param name="dt"></param>
public void CreateNode(TreeNode mynode, DataTable dt)
{
DataTable ds = dt.Copy();
DataView dvTree = ds.DefaultView;
dvTree.RowFilter = "Q_ParentCode = " + mynode.Value;
if (dvTree.Count != 0)
{
foreach (DataRowView Row in dvTree)
{
string name = Row["Q_Name"].ToString();
string Level = Row["Q_Level"].ToString();
TreeNode myNode = new TreeNode();
myNode.Value = Row["Q_ClassCode"].ToString();
myNode.Text = "<a herf='#'></a><img src=\"images\\i.gif\">" + name + "(" + Row["Q_Value"].ToString() + ")";
if (Row["Q_IsUsered"].ToString().Trim() != "True")
{
myNode.Text += " <font color='#ff0000'>[停用]</font>";
}
//byte[] bTemp = System.Text.Encoding.GetEncoding("GB2312").GetBytes(name);
//name = System.Web.HttpUtility.UrlEncode(bTemp);
myNode.Text += " <a href='#' onclick=\"OpenQAddWin(this)\" srclink=\"QuestionAdd.aspx?code=" + myNode.Value.ToString() + "&name=" + name + "&level=" + Level + "\"><font color='#0000FF'>添加下级指标</font></a>";
myNode.Text += " <a href='#' onclick=\"OpenQEditWin(this)\" srclink=\"QuestionEdit.aspx?code=" + myNode.Value.ToString() + "&name=" + name + "&level=" + Level + "\"><font color='#0000FF'>编辑</font></a>";
if (Row["Q_IsChild"].ToString().Trim() != "True")
{
myNode.Text += " <a href='#' onclick=\"OpenAEditWin(this)\" srclink=\"AnswerEdit.aspx?code=" + myNode.Value.ToString() + "&name=" + name + "&level=" + Level + "\"><font color='#0000FF'>编辑</font></a>";
}
CreateNode(myNode, dt);
mynode.ChildNodes.Add(myNode);
}
}
}
{ {1
{1{
{ {1
tree{
{ {2
{2{
{ {2只能用递归的方法吗?还有其他的方法吗?