跪求~~~~~我今天在CSDN问了一天,帮我看看吧,我实在没有办法了

pp1234567890 2003-08-20 10:32:44
为什么没有效果,连错误提示都没有,今天在问不出来,我是不睡觉了
数据库设计father_id,child_id,name,count,url
Public ds As New DataSet()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
CreateDataSet()
InitTree(TreeView1.Nodes, 999)
End If
End Sub
Private Sub CreateDataSet()
Dim str As String = ConfigurationSettings.AppSettings("tree")
Dim myconn As New SqlConnection(str)
Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM TREE", myConn)
myDataAdapter.Fill(ds)
End Sub
Private Sub InitTree(ByRef Nds As TreeNodeCollection, ByVal parentId As Integer)
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim i As Integer
dv.Table = ds.Tables("tree")
dv.RowFilter = "Father_Id='" & parentId & "'"
For Each drv In dv
tmpNd = New TreeNode()
tmpNd.ID = drv("child_id")
tmpNd.Text = drv("name")
i = drv("father_id")
Nds.Add(tmpNd)
InitTree(Nds(Nds.Count - 1).Nodes, tmpNd.ID)
Next
End Sub
...全文
31 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
panyee 2003-08-21
  • 打赏
  • 举报
回复
把child_id改成id就不会昏了, ...

字段名取得不好
pp1234567890 2003-08-21
  • 打赏
  • 举报
回复
谢谢,我测试通过了,主要是数据库结构没有搞清楚,从昨天下午搞到今天,只睡了3个小时,今天头疼的厉害,真昏,今天终于可以笑着睡觉了
panyee 2003-08-20
  • 打赏
  • 举报
回复
child_id father_id name count url
10 0 微软网站 1 http://www.microsoft.com
20 0 新浪 1 http://www.sina.com.cn
30 0 163网易 1 http://www.163.com
1010 10 校友录 1 http://www.chinaren.com
1020 10 GOOGLE 2 http://www.google.com
2010 20 CSDN 1 http://www.csdn.net
102010 1020 我的主页 1 http://pany.533.net
pp1234567890 2003-08-20
  • 打赏
  • 举报
回复
等我,我测试
panyee 2003-08-20
  • 打赏
  • 举报
回复
Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer)
这个函数定义也不会ByRef , ByVal
panyee 2003-08-20
  • 打赏
  • 举报
回复
以下是测试通过的
你的Page里要定义autoeventWireup="false", 不难你的DataSet会执行好几次Fill
InitTree(TreeView1.Nodes, 0) 你要保证0是根节点


<%@Page Language="VB" Debug="true" autoeventWireup="false" %>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Register Tagprefix="ie" namespace="Microsoft.Web.Ui.Webcontrols"

Assembly="Microsoft.Web.Ui.webcontrols"%>
<html>
<head>
<script language="vb" runat=server>
Public ds As New DataSet()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
CreateDataSet()
InitTree(TreeView1.Nodes, 0)
End If
End Sub
Private Sub CreateDataSet()
'Dim ds As new DataSet
Dim str As String = "server=pany;database=pany;uid=sa;pwd=123"
Dim myconn As New SqlConnection(str)
Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM TREE", myConn)
myDataAdapter.Fill(ds, "tree")
End Sub
Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer)
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim i As Integer
dv.Table = ds.Tables("tree")
dv.RowFilter = "Father_Id='" & parentId & "'"
For Each drv In dv
tmpNd = New TreeNode()
tmpNd.ID = drv("child_id")
tmpNd.Text = drv("name")
tmpNd.NavigateUrl = drv("url")
tmpNd.Target = "_blank"
i = drv("father_id")
Nds.Add(tmpNd)
parentId = drv("father_id")
InitTree(Nds(Nds.Count - 1).Nodes, tmpNd.ID)
Next
End Sub
</script>
</head>
<body>
<form id=form1 runat=server>
<ie:TreeView ID="TreeView1" runat="server" />
</form>
pp1234567890 2003-08-20
  • 打赏
  • 举报
回复
999我从0试到1000都没有反映
pp1234567890 2003-08-20
  • 打赏
  • 举报
回复
treeview是好的
panyee 2003-08-20
  • 打赏
  • 举报
回复
InitTree(TreeView1.Nodes, 999)

是否有999这个节点ID?
yjtc 2003-08-20
  • 打赏
  • 举报
回复
iewebcontrol环境是否有错误?有时候,iewebcontrol时好时坏。看看iewebcontrol的自带离子是否能正常现实treeview。我就遇到过此事,总以为自己的代码有问题,结果是iewebcontrol环境出错了——很容易出错。
pp1234567890 2003-08-20
  • 打赏
  • 举报
回复
大家帮我看看,我哪点写错了
panyee 2003-08-20
  • 打赏
  • 举报
回复

InitTree(TreeView1.Nodes, 999)

你是否有999这个ID的节点?

暗石绿 2003-08-20
  • 打赏
  • 举报
回复
see
http://www.chinabs.net/aspnet/default.asp?infoid=106
pp1234567890 2003-08-20
  • 打赏
  • 举报
回复
我声明在CLASS里面,还是没有效果,连错误都不提示
mgan 2003-08-20
  • 打赏
  • 举报
回复
兄弟 现在 多学点 我以后跟你学啊
——————————@_@————————
good good study
day day up
__________________^@^_________________
thp 2003-08-20
  • 打赏
  • 举报
回复
Public ds As New DataSet()
这样声明在Page_Load里面,然后,把ds作为参数传进CreateDataSet()和InitTree这两个函数里试试

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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