Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not Page.IsPostBack Then
Application("connectstring") = "server=erp;uid=erpsa;pwd=erpsa;database=testerp"
CreateDataSet()
intiTree(TreeView1.Nodes, 0)
End If
End Sub Private Sub CreateDataSet() '建立数据集
Dim string1 As String
Dim sqlselect As String Dim MyDA As SqlDataAdapter
Dim objDConn As SqlConnection
string1 = Application("connectstring")
objDConn = New SqlConnection(string1)
sqlselect = "select NODEID,NODENAME,PARENTID from TREE_INFO"
MyDA = New SqlDataAdapter(sqlselect, objDConn)
MyDA.Fill(ds, "TREE") End Sub Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
Dim strId As String
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim intId As Integer
dv.Table = ds.Tables("TREE")
dv.RowFilter = "PARENTID='" & parentId & "'"
For Each drv In dv
tmpNd = New TreeNode()
strId = drv("NODEID")
tmpNd.ID = strId
tmpNd.Text = drv("NODENAME")
' tmpNd.ImageUrl = drv("ICON").ToString
Nds.Add(tmpNd)
intId = Val(drv("NODEID"))
intiTree(Nds(Nds.Count - 1).Nodes, intId) Next End Sub关键在建立表结构上,本节点编号NODEID,其父节点parentId,节点名NODENAME。祝成功。
'在此处放置初始化页的用户代码
If Not Page.IsPostBack Then
Application("connectstring") = "server=erp;uid=erpsa;pwd=erpsa;database=testerp"
CreateDataSet()
intiTree(TreeView1.Nodes, 0)
End If
End Sub Private Sub CreateDataSet() '建立数据集
Dim string1 As String
Dim sqlselect As String Dim MyDA As SqlDataAdapter
Dim objDConn As SqlConnection
string1 = Application("connectstring")
objDConn = New SqlConnection(string1)
sqlselect = "select NODEID,NODENAME,PARENTID from TREE_INFO"
MyDA = New SqlDataAdapter(sqlselect, objDConn)
MyDA.Fill(ds, "TREE") End Sub Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
Dim strId As String
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim intId As Integer
dv.Table = ds.Tables("TREE")
dv.RowFilter = "PARENTID='" & parentId & "'"
For Each drv In dv
tmpNd = New TreeNode()
strId = drv("NODEID")
tmpNd.ID = strId
tmpNd.Text = drv("NODENAME")
' tmpNd.ImageUrl = drv("ICON").ToString
Nds.Add(tmpNd)
intId = Val(drv("NODEID"))
intiTree(Nds(Nds.Count - 1).Nodes, intId) Next End Sub关键在建立表结构上,本节点编号NODEID,其父节点parentId,节点名NODENAME。祝成功。
解决方案 »
- 如何在一个ItemDataBound事件中给多个Repeater赋值
- 软件薪资设计
- 再问个问题,就是怎么取到HtmlSelect 这个控件的值,我做的是无刷新二级联动,控件在Datalist的模板列里面!求教!
- 绑定Gridview以后怎么去掉一列呢??
- RadioButtonList控件绑定问题???
- 高手请进: 在做一个考试系统时遇到下列问题: 高分
- TextBox显示的问题
- 求助,带有 HTML 代码的全文本如何做查询?
- 工作之余,还能把生活安排得井井有条吗??
- help
- 怎样调试用户控件(ascx)?怎样在vs.net中将用户控件添加到一个页面?
- 谁那有拿来就能用的Treeview控件吗?
{
//定义一个新的结点 Microsoft.Web.UI.WebControls.TreeNode t2=new Microsoft.Web.UI.WebControls.TreeNode();
t2.ID=number;
t2.Text=name;
//判断是否为根结点
if(t1.ID.Trim()=="###")
{
TreeView1.Nodes.Add(t2);
}
else
{
t1.Nodes.Add(t2);
}
//取得这个结点的所有子结点,利用递归自动生成
string mySelectQuery = "SELECT ParentID,RegionID,Name FROM dtRegionP where ParentID='" + number +"'";
string MyConnString="provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath(".")+"/dt/epf1.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,"###");
然后按sumanden(心头慌,打中张)的方法做