void creat_node(string
name,Microsoft.Web.UI.WebControls.TreeNode t1,string number)
{
//定义一个新的结点 Microsoft.Web.UI.WebControls.TreeNode t2=new
Microsoft.Web.UI.WebControls.TreeNode();
t2.ID=number;
t2.Text=name;
//判断是否为根结点
TreeView1.ExpandedImageUrl="images/Depart03.bmp";
if(t1.ID.Trim()=="###")
{
TreeView1.Nodes.Add(t2);
t2.ImageUrl="images/Depart01.bmp";
}
else
{
t1.Nodes.Add(t2);
t2.ImageUrl="images/Depart01.bmp";
t1.ImageUrl="images/Depart02.bmp";
}
//取得这个结点的所有子结点,利用递归自动生成
string mySelectQuery = "SELECT ParentID, ID,Name FROM table1
where ParentID='" + number +"'";
string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data
Source="+Server.MapPath(".")+"/dt/mydata.mdb";
OleDbConnection myConnection = new
OleDbConnection(MyConnString);
OleDbCommand myCommand = new
OleDbCommand(mySelectQuery,myConnection);
myConnection.Open();
OleDbDataReader myReader;
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
creat_node(myReader.GetString(2),t2,myReader.GetString(1)); }
myReader.Close();
myConnection.Close(); } private void CreateProviderTreeBtn_Click(object sender,
System.EventArgs e)
{
Microsoft.Web.UI.WebControls.TreeNode t1=new
Microsoft.Web.UI.WebControls.TreeNode();
creat_node("",t1,"###");
name,Microsoft.Web.UI.WebControls.TreeNode t1,string number)
{
//定义一个新的结点 Microsoft.Web.UI.WebControls.TreeNode t2=new
Microsoft.Web.UI.WebControls.TreeNode();
t2.ID=number;
t2.Text=name;
//判断是否为根结点
TreeView1.ExpandedImageUrl="images/Depart03.bmp";
if(t1.ID.Trim()=="###")
{
TreeView1.Nodes.Add(t2);
t2.ImageUrl="images/Depart01.bmp";
}
else
{
t1.Nodes.Add(t2);
t2.ImageUrl="images/Depart01.bmp";
t1.ImageUrl="images/Depart02.bmp";
}
//取得这个结点的所有子结点,利用递归自动生成
string mySelectQuery = "SELECT ParentID, ID,Name FROM table1
where ParentID='" + number +"'";
string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data
Source="+Server.MapPath(".")+"/dt/mydata.mdb";
OleDbConnection myConnection = new
OleDbConnection(MyConnString);
OleDbCommand myCommand = new
OleDbCommand(mySelectQuery,myConnection);
myConnection.Open();
OleDbDataReader myReader;
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
creat_node(myReader.GetString(2),t2,myReader.GetString(1)); }
myReader.Close();
myConnection.Close(); } private void CreateProviderTreeBtn_Click(object sender,
System.EventArgs e)
{
Microsoft.Web.UI.WebControls.TreeNode t1=new
Microsoft.Web.UI.WebControls.TreeNode();
creat_node("",t1,"###");
解决方案 »
- 一个gridview过滤的问题
- **** DropDownList ****异步刷新数据
- Focus()问题
- 我就不信没人能解决这个问题了 关于排班表的制作
- 如何动态的添加删除用户控件?
- TreeView字体颜色问题
- 求一个SQL语句....
- 如何打开或下载Oracle数据库中的文件到本地?
- 急~~~ 日期控件已选定日期再点击怎么激发事件???有实例的给个~!谢谢
- 关于directory类的一个问题,谢谢
- 如何在TextBox中按Enter键就直接执行某段程序,(如各种论坛中输入密码后按Enter键后就登临)
- 我想学用IEWebControls,可现在没有WebControls.dll。怎么办啊?
parentid
context
depth
imageprivate void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
if (IsPostBack==false)
{
this.sqlDataAdapter1.Fill(this.dataSet11);
TreeNode rootNode=new TreeNode();
AddTree(1,null);
}
}// 递归添加树的节点
public void AddTree(int ParentID, TreeNode pNode)
{
DataView dvTree = new DataView(this.dataSet11.Tables[1]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[PARENTID] = " + ParentID;
foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点
TreeView1.Nodes.Add(Node);
Node.Expanded = false;
}
else
{ //添加当前节点的子节点
pNode.Nodes.Add(Node);
Node.Expanded = false;
}
Node.Text = Row["context"].ToString();
AddTree(Int32.Parse(Row["id"].ToString()), Node);//递归
Node.Target = "frright";
Node.NavigateUrl = Row["depth"].ToString();
Node.ImageUrl = Row["image"].ToString() ;
Node.ExpandedImageUrl = Row["image"].ToString();
}
}
{
string strSql;
strSql="";//找到根目录的sql
DataSet ds=new DataSet();
ds=conn.GetDs(strSql); DataRow [] drs=ds.Tables[0].Select("");
foreach(DataRow r in drs)
{
TreeNode root=new TreeNode();
root.Text=r["lbmc"].ToString();
root.NodeData=r["id"].ToString();
//root.Target="MainFrame";
TreeView1.Nodes.Add(root);
string rId=r["id"].ToString();
Child(root,rId);
}
}
//寻找子结点
public void Child(TreeNode root,string rId)
{
string strSql;
strSql="";//找到子目录的sql
DataSet ds=new DataSet();
ds=conn.GetDs(strSql);
DataRow [] drsr=ds.Tables[0].Select("id="+lbbh);
foreach(DataRow r in drsr)
{
TreeNode cRoot=new TreeNode();
cRoot.Text=r["lbmc"].ToString();
cRoot.NodeData=r["lbbh"].ToString();
//cRoot.Target="MainFrame";
//cRoot.NavigateUrl="MainList?BIG="+r["big_id"].ToString()+"&SID="+r["small_id"].ToString();
root.Nodes.Add(cRoot);
} }
{
SqlDataReader dr;
SqlCommand myCommand;
string strSel = "select * from ctm_dptlist order by len(vieworder),VIEWORDER";
myCommand = new SqlCommand (strSel, myConnection);
myConnection.Open();
dr=myCommand.ExecuteReader();
while (dr.Read ())
{
TreeNode tnCurrent = new TreeNode ();
tnCurrent.Text = dr["dptname"].ToString();
string sViewOrder = dr["ViewOrder"].ToString();
tnCurrent.ID = sViewOrder;
if (sViewOrder.Length>2)
{
TreeNodeCollection tncParent = TreeView1.Nodes;
for (int i=1;i<=((sViewOrder.Length-2)/2);i++)
{
for (int j=0;j<tncParent.Count;j++)
{
if (tncParent[j].ID==sViewOrder.Substring(0,i*2))
{
tncParent = tncParent[j].Nodes;
break;
}
}
}
tncParent.Add(tnCurrent);
}
else
TreeView1.Nodes.Add(tnCurrent);
}
dr.Close ();
myConnection.Close();
}