万能树状列表

lingjun1229 2008-03-11 10:55:04
using System;
using System.Data;
using System.Configuration;
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.SqlClient;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection conn = new SqlConnection("server=127.0.0.1;uid=sa;pwd=cuihufox;database=Text");
SqlDataAdapter sda = new SqlDataAdapter("select * from demo", conn);
DataSet ds = new DataSet();
sda.Fill(ds, "demo");
BindTreeView("default", ds.Tables["demo"]);
}
}


//邦定根节点
public void BindTreeView(string TargetFrame, DataTable dt)
{
DataRow[] drs = dt.Select("M_Id= " + 0);// 选出所有子节点

//菜单状态
bool menuExpand = false;

TreeView1.Nodes.Clear(); // 清空树


foreach (DataRow r in drs)//遍历节点,读取数据库对应字段
{
string nodeid = r["I_Id"].ToString();
string text = r["I_Name"].ToString();
string parentid = r["M_Id"].ToString();
string url = r["I_URl"].ToString();
string imageurl = r["I_Image"].ToString();
string framename = TargetFrame;
this.TreeView1.Font.Name = "宋体";
this.TreeView1.Font.Size = FontUnit.Parse("9");

TreeNode rootnode = new TreeNode();
rootnode.Text = text;
rootnode.Value = nodeid;
rootnode.NavigateUrl = url;
rootnode.Target = framename;
rootnode.Expanded = menuExpand;
rootnode.ImageUrl = imageurl;
rootnode.SelectAction = TreeNodeSelectAction.Expand;//和ASP.NET1.1中TREEVIEW的SelectExpands属性等效

TreeView1.Nodes.Add(rootnode);

int sonparentid = int.Parse(nodeid);// Or =location
CreateNode(framename, sonparentid, rootnode, dt);

}

}

//邦定任意节点
public void CreateNode(string TargetFrame, int parentid, TreeNode parentnode, DataTable dt)
{

DataRow[] drs = dt.Select("M_Id= " + parentid);//选出所有子节点
foreach (DataRow r in drs)
{
string nodeid = r["I_Id"].ToString();
string text = r["I_Name"].ToString();
string url = r["I_URl"].ToString();
string imageurl = r["I_Image"].ToString();
string framename = TargetFrame;

TreeNode node = new TreeNode();
node.Text = text;
node.Value = nodeid;
node.NavigateUrl = url;
node.Target = TargetFrame;
node.ImageUrl = imageurl;
//node.Expanded=true;
node.SelectAction = TreeNodeSelectAction.Expand; //和ASP.NET1.1中TREEVIEW的SelectExpands属性等效
int sonparentid = int.Parse(nodeid);// Or =location

if (parentnode == null)
{
TreeView1.Nodes.Clear();
parentnode = new TreeNode();
TreeView1.Nodes.Add(parentnode);
}
parentnode.ChildNodes.Add(node);
CreateNode(framename, sonparentid, node, dt);

}

}

}
...全文
97 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenou851123 2008-04-07
  • 打赏
  • 举报
回复
lingjun1229 2008-04-07
  • 打赏
  • 举报
回复
sss

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧