我在做一个ASP.NET的项目,必须要使用TreeView,但是我发现ASP.NET中的TreeView和C#中的TreeView用法完全不同,我是要从数据库中读出数据,再添加到TreeView中,请问怎么添加?
解决方案 »
- [江湖救急] .net网站发送louts邮件
- 急!!!!!使用Image控件的时候 会自动生成 style
- xss跨站脚本攻击思路
- 如何在往一个dataTable里添加记录之前,判断这条记录是否在dataTable中存在!急!!!!
- 点dropdownlist 弹出模式对话框,选取对话框中的值显示在dropdownlist后,提交时为什么还是提示没有值?
- 文件下载超难问题,高手请进。(高分)
- 看了很多RSS2.0的介绍,还是有几个不明白的问题,大家评价一下我刚做的博客吧
- 新建一个TestClass.cs文件 如果再webform中引用这个类呢
- 变量Session["username"]用于sql查询语句该怎样写
- 左右排列的div,右边div的边距设定问题
- 控件未显示
- 急问请教!
Private Sub LoadTree1()
Dim myClassDepartment As New ClassDepartment(Application("ConnectString"))
Dim myClassDepartmentData As ClassDepartmentData
Dim myNode As Microsoft.Web.UI.WebControls.TreeNode
Dim i As int64
Dim myData As ArrayList = myClassDepartment.List(Session("LoginUserID"), " len(a.F12)=4 ")
'加入行数据
For i = 0 To myData.Count - 1
'从数组中读取数据
myClassDepartmentData = myData.Item(i)
'新加入节点
myNode = New Microsoft.Web.UI.WebControls.TreeNode
myNode.CheckBox = True
myNode.ID = myClassDepartmentData.F12
myNode.Text = "<b>" & myClassDepartmentData.F3 & "</b>"
If strsub(myClassDepartmentData.F12, Session("LoginUserDepartmentCode")) Then myNode.Expanded = True
Call LoadTree2(myNode, myClassDepartment)
treeDwxx.Nodes.Add(myNode)
Next
myClassDepartment.CloseDatabase()
myClassDepartment = Nothing
End Sub
Private Sub LoadTree2(ByVal ParentNode As Microsoft.Web.UI.WebControls.TreeNode, ByVal myClassDepartment As ClassDepartment)
Dim myClassDepartmentData As ClassDepartmentData
Dim myNode As Microsoft.Web.UI.WebControls.TreeNode
Dim i As int64
Dim myData As ArrayList = myClassDepartment.List2(Session("LoginUserID"), " len(a.F12)=8 AND Left(a.F12,4)='" & ParentNode.ID & "'")
'加入行数据
For i = 0 To myData.Count - 1
'从数组中读取数据
myClassDepartmentData = myData.Item(i)
'新加入节点
myNode = New Microsoft.Web.UI.WebControls.TreeNode
myNode.CheckBox = True
myNode.ID = myClassDepartmentData.F12
myNode.Text = "<b>" & myClassDepartmentData.F3 & "</b>"
If strsub(myClassDepartmentData.F12, Session("LoginUserDepartmentCode")) Then myNode.Expanded = True
Call LoadTree3(myNode, myClassDepartment)
ParentNode.Nodes.Add(myNode)
Next
End Sub
DataTable dtTemp=ds.GetTable(strSQL,false);
foreach(DataRow drTemp in dtTemp.Rows)
{
if(drTemp[0] !=DBNull.Value)
{
strYear=drTemp[0].ToString();
TreeNode node1=new TreeNode();
node1.Text =strYear + " 年";
this.tvwSheet.Nodes.Add(node1);
strSQL="select distinct month(ConsignDate) as 月份 from PostInputInfo where year(ConsignDate)=" + strYear + " order by 月份";
DataTable dt=ds.GetTable(strSQL,false);
foreach(DataRow dr in dt.Rows)
{
strMonth=dr[0].ToString();
TreeNode node2=new TreeNode();
node2.Text =strMonth + " 月";
node1.Nodes.Add(node2); }
}
}
tv.ExpandLevel = 3;
tv.Nodes.Clear();
TreeNode ParentTn = new TreeNode();
tv.Nodes.Add(ParentTn );
TreeNode tn = new TreeNode();
ParentTn.Nodes.Add(tn);
{
//Initial root node
TreeNode aTreeNode = new TreeNode();
//aTreeNode.Text = Session["LessionName"].ToString();
aTreeNode.Text = Session["LessonName"].ToString();
aTreeNode.ImageUrl="images/root.gif";
aTreeNode.SelectedImageUrl="images/root.gif";
aTreeNode.Target = "FraMain";
//
//aTreeNode.NavigateUrl = "admin/ContentAddSub.aspx?LessonID="+Server.UrlEncode(Session["LessonID"].ToString());
aTreeNode.NavigateUrl = "Content.aspx?LessonID="+Server.UrlEncode("101");
aTreeView.Nodes.Add(aTreeNode);
aTreeView.Nodes[0].Expanded=true;
//this.LoadChildNodes(aTreeNode,Session["LessonID"].ToString());
this.LoadChildNodes(aTreeNode,"101");
} private void LoadChildNodes(TreeNode parent,string LessonID)
{
TreeNode aTreeNode;
string aLessionID;
MenuClass aMenuClass = new MenuClass();
DataTable dt = aMenuClass.GetMenuItem(LessonID).Tables[0];
foreach(DataRow row in dt.Rows)
{
aLessionID = row.ItemArray[0].ToString();
aTreeNode = new TreeNode();
aTreeNode.Text = row.ItemArray[1].ToString();
aTreeNode.Target = "FraMain";
//
aTreeNode.NavigateUrl = "Content.aspx?LessonID="+Server.UrlEncode(aLessionID);
parent.Nodes.Add(aTreeNode);
if(row.ItemArray[2].ToString()=="1")
{
LoadChildNodes(aTreeNode,aLessionID);
}
}
}
2、绑定的代码this.TreeView1.TreeNodeSrc="TreeXML.xml";this.TreeView1.DataBind();